ElasticSearch 新增节点,横向扩容
文章目錄
- 查看當(dāng)前ES狀態(tài)
- 新增節(jié)點(diǎn)配置
- 遇到的問(wèn)題
查看當(dāng)前ES狀態(tài)
這里默認(rèn)都是在Kibana進(jìn)行操作
GET _cluster/health{"cluster_name" : "bjga-gz","status" : "yellow","timed_out" : false,"number_of_nodes" : 1,"number_of_data_nodes" : 1,"active_primary_shards" : 747,"active_shards" : 747,"relocating_shards" : 0,"initializing_shards" : 0,"unassigned_shards" : 31,"delayed_unassigned_shards" : 0,"number_of_pending_tasks" : 0,"number_of_in_flight_fetch" : 0,"task_max_waiting_in_queue_millis" : 0,"active_shards_percent_as_number" : 96.01542416452442 }head查看索引信息
現(xiàn)在只有一個(gè)節(jié)點(diǎn)
新增節(jié)點(diǎn)配置
elasticsearch.yml
# ======================== Elasticsearch Configuration ========================= cluster.name: bjga-gz node.name: node_02 network.host: 10.8.10.13 node.master: true node.data: true # head 插件需要這打開(kāi)這兩個(gè)配置 http.cors.allow-origin: "*" http.cors.enabled: true http.max_content_length: 200mb # 可以選舉的主節(jié)點(diǎn) cluster.initial_master_nodes: ["10.8.10.12:9300","10.8.10.13:9300"] discovery.seed_hosts: ["10.8.10.12:9300","10.8.10.13:9300"] gateway.recover_after_nodes: 1 network.tcp.keep_alive: true network.tcp.no_delay: true transport.tcp.compress: true #集群內(nèi)同時(shí)啟動(dòng)的數(shù)據(jù)任務(wù)個(gè)數(shù),默認(rèn)是2個(gè) cluster.routing.allocation.cluster_concurrent_rebalance: 16 #添加或刪除節(jié)點(diǎn)及負(fù)載均衡時(shí)并發(fā)恢復(fù)的線程個(gè)數(shù),默認(rèn)4個(gè) cluster.routing.allocation.node_concurrent_recoveries: 16 #初始化數(shù)據(jù)恢復(fù)時(shí),并發(fā)恢復(fù)線程的個(gè)數(shù),默認(rèn)4個(gè) cluster.routing.allocation.node_initial_primaries_recoveries: 16 #開(kāi)啟 xpack 功能,如果要禁止使用密碼,請(qǐng)將以下內(nèi)容注釋,直接啟動(dòng)不需要設(shè)置密碼 #xpack.security.enabled: true #xpack.security.transport.ssl.enabled: true #xpack.security.transport.ssl.verification_mode: certificate #xpack.security.transport.ssl.keystore.path: elastic-certificates.p12 #xpack.security.transport.ssl.truststore.path: elastic-certificates.p12 # path.repo: ["/home/es/snapshot"]這里注意,如果我們第一個(gè)節(jié)點(diǎn)/集群裝有插件,比如ik等,需要在新增的節(jié)點(diǎn)中也同時(shí)增加進(jìn)去。不然第二個(gè)節(jié)點(diǎn)會(huì)報(bào)錯(cuò)
配置時(shí)將第一個(gè)節(jié)點(diǎn)的IP加入,然后啟動(dòng)服務(wù)
bin/elasticsearch -d -p pid此時(shí)我們?cè)貹ibana中查看
GET _cluster/health{"cluster_name" : "bjga-gz","status" : "green","timed_out" : false,"number_of_nodes" : 2,"number_of_data_nodes" : 2,"active_primary_shards" : 747,"active_shards" : 792,"relocating_shards" : 11,"initializing_shards" : 0,"unassigned_shards" : 0,"delayed_unassigned_shards" : 0,"number_of_pending_tasks" : 4,"number_of_in_flight_fetch" : 0,"task_max_waiting_in_queue_millis" : 2143,"active_shards_percent_as_number" : 100.0 }此時(shí)"status" : "green",可以看到狀態(tài)變成了green,之前為yellow是因?yàn)橐粋€(gè)節(jié)點(diǎn)原因。節(jié)點(diǎn)數(shù)也為2了。
我們通過(guò)Head查看,發(fā)現(xiàn)節(jié)點(diǎn)已經(jīng)加入成功。
再過(guò)一段時(shí)間自動(dòng)負(fù)載完成
通過(guò)新增服務(wù)的接口訪問(wèn)也可正常查看數(shù)據(jù)。
新增節(jié)點(diǎn)后,原先的主節(jié)點(diǎn)配置文件也同步進(jìn)行更新,但是也可以先不重啟服務(wù),后期有機(jī)會(huì)在進(jìn)行重啟即可。不影響使用。
主要是將下面ip同步更新到之前的節(jié)點(diǎn)中
遇到的問(wèn)題
訪問(wèn)新增節(jié)點(diǎn)服務(wù)提示404
此時(shí)我們通過(guò)新增服務(wù)器的端口進(jìn)行查詢數(shù)據(jù)、查看索引,發(fā)現(xiàn)提示404
查看我們的es啟動(dòng)服務(wù)端口,我們發(fā)現(xiàn)es使用的9202和9301
[root@test13 elasticsearch-7.9.3]# netstat -antp |grep 29559 |grep 'LISTEN' tcp6 0 0 10.8.10.13:9202 :::* LISTEN 29559/java tcp6 0 0 10.8.10.13:9301 :::* LISTEN 29559/java為什么配置了9300,他不使用呢?
查看了下9200和9300分別被其他程序占用了!es自動(dòng)分配到了其他端口,使用9202進(jìn)行http查詢可以正常查詢了。
總結(jié)
以上是生活随笔為你收集整理的ElasticSearch 新增节点,横向扩容的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。