偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

走入?可?分布式集群世界

開發(fā) 架構
?個 Elasticsearch 實例即?個 Node,?臺機器可以有多個實例,正常使?下每個實例應該會部署在不同的機器上。Elasticsearch 的配置?件中可以通過 node.master、node.data 來設置節(jié)點類型。

通往集群大門

  • ?可?

?可?(High Availability)是分布式系統(tǒng)架構設計中必須考慮的因素之?,它通常是指,通過設計減少系統(tǒng)不能提供服務的時間。如果系統(tǒng)每運?100個時間單位,會有1個時間單位?法提供服務,我們說系統(tǒng)的可?性是99%。

  • 負載均衡

將流量均衡的分布在不同的節(jié)點上,每個節(jié)點都可以處理?部分負載,并且可以在節(jié)點之間動態(tài)分配負載,以實現(xiàn)平衡。

  • ?性能

將流量分發(fā)到不同機器,充分利?多機器多CPU,從串?計算到并?計算提?系統(tǒng)性能。

es集群的基本核心概念

  • Cluster 集群

?個 Elasticsearch 集群由?個或多個節(jié)點(Node)組成,每個集群都有?個共同的集群名稱作為標識。

  • Node節(jié)點

?個 Elasticsearch 實例即?個 Node,?臺機器可以有多個實例,正常使?下每個實例應該會部署在不同的機器上。Elasticsearch 的配置?件中可以通過 node.master、node.data 來設置節(jié)點類型。

node.master:表示節(jié)點是否具有成為主節(jié)點的資格

true代表的是有資格競選主節(jié)點

false代表的是沒有資格競選主節(jié)點

node.data:表示節(jié)點是否存儲數(shù)據(jù)

  • Node節(jié)點組合

主節(jié)點+數(shù)據(jù)節(jié)點(master+data)

節(jié)點即有成為主節(jié)點的資格,?存儲數(shù)據(jù)

node.master: true
node.data: true

數(shù)據(jù)節(jié)點(data)

節(jié)點沒有成為主節(jié)點的資格,不參與選舉,只會存儲數(shù)據(jù)

node.master: false
node.data: true

客戶端節(jié)點(client)

不會成為主節(jié)點,也不會存儲數(shù)據(jù),主要是針對海量請求的時候可以進?負載均衡

node.master: false
node.data: false
  • 分?

每個索引有?個或多個分?,每個分?存儲不同的數(shù)據(jù)。分?可分為主分?( primary shard)和復制分?(replica shard),復制分?是主分?的拷?。默認每個主分?有?個復制分?,?個索引的復制分?的數(shù)量可以動態(tài)地調(diào)整,復制分?從不與它的主分?在同?個節(jié)點上

手把手教你搭建es集群

搭建步驟

拷?elasticsearch-7.2.0安裝包3份,分別命名es-a, es-b,es-c。

分別修改elasticsearch.yml?件。

分別啟動a ,b ,c 三個節(jié)點。

打開瀏覽器輸?:http://localhost:9200/_cat/health?v ,如果返回的node.total是3,代表集群搭建成功

配置elasticsearch.yml?件

#集群名稱
cluster.name: cyz-es
#節(jié)點名稱
node.name: node-1
#是不是有資格主節(jié)點
node.master: true
#是否存儲數(shù)據(jù)
node.data: true
#最?集群節(jié)點數(shù)
node.max_local_storage_nodes: 3
#?關地址
network.host: 0.0.0.0
#端?
http.port: 9200
#內(nèi)部節(jié)點之間溝通端?
transport.tcp.port: 9300
#es7.x 之后新增的配置,寫?候選主節(jié)點的設備地址,在開啟服務后可以被選為主節(jié)點
discovery.seed_hosts: ["localhost:9300","localhost:9400","localhost:9500"]
#es7.x 之后新增的配置,初始化?個新的集群時需要此配置來選舉master
cluster.initial_master_nodes: ["node-1", "node-2","node-3"]
#數(shù)據(jù)和存儲路徑
path.data: /usr/local/es/data
path.logs: /usr/local/es/logs
node.name: node-2
http.port: 9201
transport.tcp.port: 9400
node.name: node-3
http.port: 9202
transport.tcp.port: 9500

kibana

  • 打開配置 kibana.yml,添加elasticsearch.hosts: ["http://localhost:9200","http://localhost:9201","http://localhost:9202"]
  • 啟動kibana,可以看到集群信息

es集群索引分片管理

介紹

  • 分?(shard):因為ES是個分布式的搜索引擎, 所以索引通常都會分解成不同部分, ?這些分布在不同節(jié)點的數(shù)據(jù)就是分?. ES?動管理和組織分?, 并在必要的時候對分?數(shù)據(jù)進?再平衡分配, 所以?戶基本上不?擔?分?的處理細節(jié)。
  • 副本(replica):ES默認為?個索引創(chuàng)建1個主分?, 并分別為其創(chuàng)建?個副本分?. 也就是說每個索引都由1個主分?成本, ?每個主分?都相應的有?個copy.
  • Elastic search7.x之后,如果不指定索引分?,默認會創(chuàng)建1個主分?和?個副分?,?7.x版本之前的?如6.x版本,默認是5個主分?

創(chuàng)建索引(不指定分?數(shù)量)

PUT nba
{"mappings":{"properties":{"birthDay":{"type":"date"},"birthDayStr":
{"type":"keyword"},"age":{"type":"integer"},"code":
{"type":"text"},"country":{"type":"text"},"countryEn":
{"type":"text"},"displayAffiliation":{"type":"text"},"displayName":
{"type":"text"},"displayNameEn":{"type":"text"},"draft":
{"type":"long"},"heightValue":{"type":"float"},"jerseyNo":
{"type":"text"},"playYear":{"type":"long"},"playerId":
{"type":"keyword"},"position":{"type":"text"},"schoolType":
{"type":"text"},"teamCity":{"type":"text"},"teamCityEn":
{"type":"text"},"teamConference":{"type":"keyword"},"teamConferenceEn":
{"type":"keyword"},"teamName":{"type":"keyword"},"teamNameEn":
{"type":"keyword"},"weight":{"type":"text"}}}}

創(chuàng)建索引(指定分片數(shù)量)

  • settings
"settings": {
"number_of_shards": 3,
"number_of_replicas": 1
},
  • 創(chuàng)建索引
PUT nba
{"settings":{"number_of_shards":3,"number_of_replicas":1},"mappings":
{"properties":{"birthDay":{"type":"date"},"birthDayStr":
{"type":"keyword"},"age":{"type":"integer"},"code":
{"type":"text"},"country":{"type":"text"},"countryEn":
{"type":"text"},"displayAffiliation":{"type":"text"},"displayName":
{"type":"text"},"displayNameEn":{"type":"text"},"draft":
{"type":"long"},"heightValue":{"type":"float"},"jerseyNo":
{"type":"text"},"playYear":{"type":"long"},"playerId":
{"type":"keyword"},"position":{"type":"text"},"schoolType":
{"type":"text"},"teamCity":{"type":"text"},"teamCityEn":
{"type":"text"},"teamConference":
{"type":"keyword"},"teamConferenceEn":{"type":"keyword"},"teamName":
{"type":"keyword"},"teamNameEn":{"type":"keyword"},"weight":
{"type":"text"}}}}

索引分片分配

  • 分?分配到哪個節(jié)點是由ES?動管理的,如果某個節(jié)點掛了,那分??會重新分配到別的節(jié)點上。
  • 在單機中,節(jié)點沒有副分?,因為只有?個節(jié)點沒必要?成副分?,?個節(jié)點掛點,副分?也會掛掉,完全是單故障,沒有存在的意義。
  • 在集群中,同個分?它的主分?不會和它的副分?在同?個節(jié)點上,因為主分?和副分?在同個節(jié)點,節(jié)點掛了,副分?和主分機?樣是掛了,不要把所有的雞蛋都放在同個籃??。
  • 可以?動移動分?,?如把某個分?移動從節(jié)點1移動到節(jié)點2。
  • 創(chuàng)建索引時指定的主分?數(shù)以后是?法修改的,所以主分?數(shù)的數(shù)量要根據(jù)項?決定,如果真的要增加主分?只能重建索引了。副分?數(shù)以后是可以修改的。

手動移動分片

POST /_cluster/reroute
{
"commands": [
{
"move": {
"index": "nba",
"shard": 2,
"from_node": "node-1",
"to_node": "node-3"
}
}
]
}

修改副分?數(shù)量

PUT /nba/_settings
{
"number_of_replicas": 2
}

玩轉es集群健康管理

查看集群的健康狀態(tài)

  • http://127.0.0.1:9200/_cat/health?v
  • URL返回了集群的健康信息。
  • 返回信息

status :集群的狀態(tài),red紅表示集群不可?,有故障。yellow?表示集群不可靠但可?,?般單節(jié)點時就是此狀態(tài)。green正常狀態(tài),表示集群?切正常。
node.total :節(jié)點數(shù),這?是3,表示該集群有三個節(jié)點。
node.data :數(shù)據(jù)節(jié)點數(shù),存儲數(shù)據(jù)的節(jié)點數(shù),這?是3。
shards :表示我們把數(shù)據(jù)分成多少塊存儲。
pri :主分?數(shù),primary shards
active_shards_percent :激活的分?百分?,這?可以理解為加載的數(shù)據(jù)分?數(shù),只有加載所有的分?數(shù),集群才算正常啟動,在啟動的過程中,如果我們不斷刷新這個??,我們會發(fā)現(xiàn)這個百分?會不斷加?。

查看集群的索引數(shù)

  • http://127.0.0.1:9200/_cat/indices?v
  • URL返回了集群中的所有索引信息,我們可以看到所有索引的健康情況和具體信息。
  • 返回信息

health : 索引健康,green為正常,yellow表示索引不可靠(單節(jié)點),red索引不可?。與
集群健康狀態(tài)?致。
status : 狀態(tài)表明索引是否打開,只索引是可以關閉的。
index : 索引的名稱
uuid : 索引內(nèi)部分配的名稱,索引的唯?表示
pri : 集群的主分?數(shù)量
docs.count : 這?統(tǒng)計了?檔的數(shù)量。
docs.deleted : 這?統(tǒng)計了被刪除?檔的數(shù)量。
store.size : 索引的存儲的總容量
pri.store.size : 主分別的容量

查看磁盤的分配情況

  • http://192.168.1.128:9200/_cat/allocation?v
  • URL返回了每個節(jié)點的磁盤情況。
  • 返回信息

shards : 該節(jié)點的分?數(shù)量
disk.indices : 該節(jié)點中所有索引在該磁盤所點的空間。
disk.used : 該節(jié)點已經(jīng)使?的磁盤容量
disk.avail : 該節(jié)點可以使?的磁盤容量
disk.total : 該節(jié)點的磁盤容量

查看集群的節(jié)點信息

  • http://127.0.0.1:9200/_cat/nodes?v
  • URL返回了集群中各節(jié)點的情況。
  • 返回信息

ip : ip地址
heap.percent : 堆內(nèi)存使?情況
ram.percent : 運?內(nèi)存使?情況
cpu : cpu使?情況
master : 是否是主節(jié)點

查看集群的其他信息

  • http://127.0.0.1:9200/_cat

參考個人博客:http://www.sddzcyz.cn/

責任編輯:武曉燕 來源: 今日頭條
相關推薦

2017-09-11 15:17:01

分布式集群負載均衡

2020-09-08 13:25:52

HBase分布式數(shù)據(jù)庫

2017-08-10 10:17:32

Hadoop分布式搭建

2019-09-26 15:43:52

Hadoop集群防火墻

2022-03-29 23:17:52

PostgreSQL集群Citus

2018-11-15 12:35:25

Ceph分布式存儲

2020-07-15 09:20:48

MyCatMySQL分布式

2022-03-21 19:44:30

CitusPostgreSQ執(zhí)行器

2013-03-22 15:55:22

Web架構架構

2022-03-27 06:37:37

SQLPostgreSQL集群

2019-10-10 09:16:34

Zookeeper架構分布式

2020-07-03 13:29:08

Redis集群哈希槽

2017-09-01 05:35:58

分布式計算存儲

2023-05-29 14:07:00

Zuul網(wǎng)關系統(tǒng)

2019-06-19 15:40:06

分布式鎖RedisJava

2024-10-10 14:01:34

2019-05-24 14:45:17

分布式微服務運維

2014-08-13 10:47:18

分布式集群

2022-03-21 06:45:22

PostgreSQL數(shù)據(jù)庫Citus

2018-05-08 08:57:36

分布式存儲集群
點贊
收藏

51CTO技術棧公眾號