elasticsearch-集羣管理

一、集羣結構

ES 一般以集羣方式工做、以提升搜索性能、容錯能力、高可用、實現PB級數據搜索。node

相關概念:bootstrap

(1)結點: ES集羣由多臺ES服務器組成、每一個ES 服務端就是個一個NODE結點服務器

(2)分片:因爲硬盤限制,爲提升ES處理數據量、將索引進行分片、分片後將其放在不一樣結點、實現多個服務端共同對外提供索引及搜索服務cors

(3)副本:將分片備份出來存儲在其餘服務端,實現高可用負載均衡

(4)主節點:用於管理集羣,如增刪節點、一個集羣中至少有一個主節點,可有多個,主節點掛了ES 會從新選一主節點elasticsearch

(5)節點轉發:每個節點都知道其餘節點的信息,咱們能夠向任何一個節點發請求,噹噹前節點分片剛好沒有數據時會自動轉發給其餘節點查詢數據tcp

(6)節點角色:節點分爲三個角色,使其承擔不一樣功能性能

       ①主節點(master):用於集羣管理、如新增節點、分片分配、索引新增、刪除等spa

       ②數據節點(data): 保存數據分片、服務索引、搜索code

       ③客戶端節點(client):  僅做爲請求客戶端存在,複製負載均衡、不保存數據、只作請求轉發

(7)節點角色的四種組合方式

       master=true ,data=true : 主節點、數據節點

       master=false,data=ture: 僅作數據節點

       master=true,data=false: 僅作主節點

       master=false,data=false: 客戶端節點

 

 

二、搭建集羣

實現建立一個2結點的集羣,每一個節點都是master:true ,data:true ,讓其自動選舉真正的主節點。

結點1:

elasticsearch.yml

# ======================== Elasticsearch Configuration =========================
# ---------------------------------- Cluster -----------------------------------
#集羣名稱
cluster.name: xuecheng
# ------------------------------------ Node ------------------------------------
#節點名,一般一臺物理機就是一個節點
node.name: xc_node-1
node.master: true
node.data: true #便是主節點又是數據及誒單
node.max_local_storage_nodes: 2
node.ingest: true

# ----------------------------------- Paths ------------------------------------
path.data: D:/keil/elasticsearch-6.2.1/data
path.logs: D:/keil/elasticsearch-6.2.1/logs

# ----------------------------------- Memory -----------------------------------
#true鎖定ES使用的內存,避免內存與swap分區交換數據
bootstrap.memory_lock: false

# ---------------------------------- Network -----------------------------------
network.host: 0.0.0.0
http.port: 9200
transport.tcp.port: 9300
# --------------------------------- Discovery ----------------------------------
discovery.zen.minimum_master_nodes: 1
discovery.zen.ping.unicast.hosts: ["0.0.0.0:9300","0.0.0.0:9301"]

# ---------------------------------- Gateway -----------------------------------
http.cors.enabled: true
http.cors.allow-origin: /.*/

 

 

節點2:

elasticsearch.yml

# ======================== Elasticsearch Configuration =========================
# ---------------------------------- Cluster -----------------------------------
#集羣名稱
cluster.name: xuecheng
# ------------------------------------ Node ------------------------------------
#節點名,一般一臺物理機就是一個節點
node.name: xc_node-2
node.master: true
node.data: true #便是主節點又是數據節點
node.max_local_storage_nodes: 2
node.ingest: true

# ----------------------------------- Paths ------------------------------------
path.data: D:/keil/elasticsearch-6.2.1/data
path.logs: D:/keil/elasticsearch-6.2.1/logs

# ----------------------------------- Memory -----------------------------------
#true鎖定ES使用的內存,避免內存與swap分區交換數據
bootstrap.memory_lock: false

# ---------------------------------- Network -----------------------------------
network.host: 0.0.0.0
http.port: 9201
transport.tcp.port: 9301
# --------------------------------- Discovery ----------------------------------
discovery.zen.minimum_master_nodes: 1
discovery.zen.ping.unicast.hosts: ["0.0.0.0:9300","0.0.0.0:9301"]

# ---------------------------------- Gateway -----------------------------------
http.cors.enabled: true
http.cors.allow-origin: /.*/
相關文章
相關標籤/搜索