日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ElasticSearch 新增节点,横向扩容

發布時間:2024/8/23 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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同步更新到之前的節點中

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"]

遇到的問題

訪問新增節點服務提示404
此時我們通過新增服務器的端口進行查詢數據、查看索引,發現提示404

[es@test13 elasticsearch-7.9.3]$ curl -XGET http://10.8.10.13:9200/operator_index/_search {"timestamp":"2021-11-03T12:48:45.448+00:00","status":404,"error":"Not Found","message":"","path":"/operator_website_index/_search"} [es@test13 elasticsearch-7.9.3]$ curl -XGET http://10.8.10.13:9200/_cat/indices {"timestamp":"2021-11-03T12:49:09.587+00:00","status":404,"error":"Not Found","message":"","path":"/_cat/indices"}

查看我們的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查詢可以正常查詢了。

[root@test13 elasticsearch-7.9.3]# netstat -antp |grep 9200 tcp6 0 0 :::9200 :::* LISTEN 32632/java [root@test13 elasticsearch-7.9.3]# netstat -antp |grep 9300 |grep 'LISTEN' tcp6 0 0 :::9300 :::* LISTEN 4667/java

總結

以上是生活随笔為你收集整理的ElasticSearch 新增节点,横向扩容的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。