ES 集群搭建
一操软、節(jié)點(diǎn)分配
案例:創(chuàng)建一個(gè)2節(jié)點(diǎn)的集群详瑞,索引的分片設(shè)置為2,每片一個(gè)副本粘我。
1). 節(jié)點(diǎn)的三個(gè)角色
- 【主節(jié)點(diǎn)】: master節(jié)點(diǎn)主要用于集群的管理及索引 比如新增結(jié)點(diǎn)鼓蜒、分片分配、索引的新增和刪除等征字。
- 【數(shù)據(jù)結(jié)點(diǎn)】: data 節(jié)點(diǎn)上保存了數(shù)據(jù)分片都弹,它負(fù)責(zé)索引和搜索操作。
- 【客戶端結(jié)點(diǎn)】: client 節(jié)點(diǎn)僅作為請求客戶端存在匙姜,client的作用也作為負(fù)載均衡器畅厢,client 節(jié)點(diǎn)不存數(shù)據(jù),只是將請求均衡轉(zhuǎn)發(fā)到其它結(jié)點(diǎn)氮昧。
2). 配置節(jié)點(diǎn)的參數(shù)
-
node.master
: #是否允許為主結(jié)點(diǎn)框杜。 -
node.data
: #允許存儲(chǔ)數(shù)據(jù)作為數(shù)據(jù)結(jié)點(diǎn)浦楣。 -
node.ingest
: #是否允許成為協(xié)調(diào)節(jié)點(diǎn)。
3). 節(jié)點(diǎn)以及其他類型
- 節(jié)點(diǎn):每個(gè)服務(wù)器為一個(gè)節(jié)點(diǎn)(一個(gè)ES進(jìn)程)
- 分片:每個(gè)分片為一個(gè)獨(dú)立的lucene實(shí)例咪辱,保存了部分的索引等信息
- 副本:對提高分片的高可用性振劳,與對應(yīng)的分片存儲(chǔ)在不同的服務(wù)器節(jié)點(diǎn)上
- 主節(jié)點(diǎn):管理集群,增加. 移除節(jié)點(diǎn)等油狂,主節(jié)點(diǎn)掛掉后會(huì)重新選舉一個(gè)新的節(jié)點(diǎn)
4). 四種組合方式
-
master=true
data=true
:即是主結(jié)點(diǎn)又是數(shù)據(jù)結(jié)點(diǎn) -
master=false
data=true
:僅是數(shù)據(jù)結(jié)點(diǎn) -
master=true
data=false
:僅是主結(jié)點(diǎn)历恐,不存儲(chǔ)數(shù)據(jù) -
master=false
data=false
:即不是主結(jié)點(diǎn)也不是數(shù)據(jù)結(jié)點(diǎn),此時(shí)可設(shè)置ingest為true表示它是一個(gè)客戶端专筷。
二弱贼、配置節(jié)點(diǎn)
1). 配置節(jié)點(diǎn)1
- 解壓elasticsearch-6.2.1.zip到 ~\elasticsearch-6.2.1\1
- 結(jié)點(diǎn)1對外服務(wù)的http端口是:9200
- 集群管理端口是9300
- 配置elasticsearch.yml
- 結(jié)點(diǎn)名:xc_node_1
- elasticsearch.yml
cluster.name: xuecheng
node.name: xc_node_1
network.host: 0.0.0.0
http.port: 9200
transport.tcp.port: 9300
node.master: true
node.data: true
discovery.zen.ping.unicast.hosts: ["0.0.0.0:9300", "0.0.0.0:9301"]
discovery.zen.minimum_master_nodes: 1
node.ingest: true
bootstrap.memory_lock: false
node.max_local_storage_nodes: 2
path.data: D:\elasticSearch\elasticsearch-01\data
path.logs: D:\elasticSearch\elasticsearch-01\logs
http.cors.enabled: true
http.cors.allow-origin: /.*/
1). 配置節(jié)點(diǎn)2
- 解壓elasticsearch-6.2.1.zip到 ~\elasticsearch-6.2.1\2
- 結(jié)點(diǎn)2對外服務(wù)的http端口是:9201
- 集群管理端口是9302
- 配置elasticsearch.yml
- 結(jié)點(diǎn)名:xc_node_2
- elasticsearch.yml
cluster.name: xuecheng
node.name: xc_node_2
network.host: 0.0.0.0
http.port: 9201
transport.tcp.port: 9301
node.master: true
node.data: true
discovery.zen.ping.unicast.hosts: ["0.0.0.0:9300", "0.0.0.0:9301"]
discovery.zen.minimum_master_nodes: 1
node.ingest: true
bootstrap.memory_lock: false
node.max_local_storage_nodes: 2
path.data: D:\elasticSearch\elasticsearch-02\data
path.logs: D:\elasticSearch\elasticsearch-02\logs
http.cors.enabled: true
http.cors.allow-origin: /.*/
三、創(chuàng)建索引及管理
1). 創(chuàng)建索引
- 使用head連接上其中一個(gè)節(jié)點(diǎn)
- 創(chuàng)建索引庫仁堪,共2個(gè)分片哮洽,每個(gè)分片一個(gè)副本。
2). 集群的健康
- 通過訪問 GET
http://localhost:9200/_cluster/health
來查看ElasticSearch的集群健康情況弦聂。- green : 一切正常
- yellow: 所有主分片正常鸟辅,某些副本不正常
- red: 存在主分片不正常
3). 添加一個(gè)節(jié)點(diǎn)
- http端口是:9202
- 集群管理端口是9302
- 結(jié)點(diǎn)名:xc_node_3
cluster.name: xuecheng
node.name: xc_node_3
network.host: 0.0.0.0
http.port: 9202
transport.tcp.port: 9302
node.master: false
node.data: true
discovery.zen.ping.unicast.hosts: ["0.0.0.0:9300", "0.0.0.0:9301"]
discovery.zen.minimum_master_nodes: 1
node.ingest: true
bootstrap.memory_lock: false
node.max_local_storage_nodes: 2
path.data: D:\elasticSearch\elasticsearch-03\data
path.logs: D:\elasticSearch\elasticsearch-03\logs
http.cors.enabled: true
http.cors.allow-origin: /.*/