ElasticSearch 新增节点,横向扩容
生活随笔
收集整理的這篇文章主要介紹了
ElasticSearch 新增节点,横向扩容
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 查看當前ES狀態
- 新增節點配置
- 遇到的問題
查看當前ES狀態
這里默認都是在Kibana進行操作
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查看索引信息
現在只有一個節點
新增節點配置
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 插件需要這打開這兩個配置 http.cors.allow-origin: "*" http.cors.enabled: true http.max_content_length: 200mb # 可以選舉的主節點 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 #集群內同時啟動的數據任務個數,默認是2個 cluster.routing.allocation.cluster_concurrent_rebalance: 16 #添加或刪除節點及負載均衡時并發恢復的線程個數,默認4個 cluster.routing.allocation.node_concurrent_recoveries: 16 #初始化數據恢復時,并發恢復線程的個數,默認4個 cluster.routing.allocation.node_initial_primaries_recoveries: 16 #開啟 xpack 功能,如果要禁止使用密碼,請將以下內容注釋,直接啟動不需要設置密碼 #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"]這里注意,如果我們第一個節點/集群裝有插件,比如ik等,需要在新增的節點中也同時增加進去。不然第二個節點會報錯
配置時將第一個節點的IP加入,然后啟動服務
bin/elasticsearch -d -p pid此時我們再Kibana中查看
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 }此時"status" : "green",可以看到狀態變成了green,之前為yellow是因為一個節點原因。節點數也為2了。
我們通過Head查看,發現節點已經加入成功。
再過一段時間自動負載完成
通過新增服務的接口訪問也可正常查看數據。
新增節點后,原先的主節點配置文件也同步進行更新,但是也可以先不重啟服務,后期有機會在進行重啟即可。不影響使用。
主要是將下面ip同步更新到之前的節點中
遇到的問題
訪問新增節點服務提示404
此時我們通過新增服務器的端口進行查詢數據、查看索引,發現提示404
查看我們的es啟動服務端口,我們發現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自動分配到了其他端口,使用9202進行http查詢可以正常查詢了。
總結
以上是生活随笔為你收集整理的ElasticSearch 新增节点,横向扩容的全部內容,希望文章能夠幫你解決所遇到的問題。