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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

ElasticSearch重启之后shard未分配问题的解决

發布時間:2024/9/16 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ElasticSearch重启之后shard未分配问题的解决 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

環境:

  • Ubuntu16.04
  • elasticsearch 6.2.3
  • 3個master節點,10個data節點
  • 每個分片有一個副本

故障:

? ? 將一個數據節點的elasticsearch換成docker elasticsearch,分詞器沒有添加到plugins中。隨后把分詞器添加到plugins中后,發現有的分片沒有被分配,但是ES集群啟動正常,只不過一直是yellow狀態。而且unassigned分片一直未被分配

解決辦法

首先執行:GET user/_recovery?active_only=true?發現集群并沒有進行副本恢復。

點擊未進行分配的分片,發現allocation_status: "no_attempt"

原因是:shard 自動分配 已經達到最大重試次數5次,仍然失敗了,所以導致"shard的分配狀態已經是:no_attempt"。這時在Kibana Dev Tools,執行命令:POST /_cluster/reroute?retry_failed=true即可。由index.allocation.max_retries參數來控制最大重試次數。

The cluster will attempt to allocate a shard a maximum of index.allocation.max_retries times in a row (defaults to 5), before giving up and leaving the shard unallocated.

當執行reroute命令對分片重新路由后,ElasticSearch會自動進行負載均衡,負載均衡參數cluster.routing.rebalance.enable默認為true。?

It is important to note that after processing any reroute commands Elasticsearch will perform rebalancing as normal (respecting the values of settings such as cluster.routing.rebalance.enable) in order to remain in a balanced state.

?總結

一般來說,ElasticSearch會自動分配 那些 unassigned shards,當發現某些shards長期未分配時,首先看下是否是因為:為索引指定了過多的primary shard 和 replica 數量,然后集群中機器數量又不夠。另一個原因就是本文中提到的:由于故障,shard自動分配達到了最大重試次數了,這時執行 reroute 就可以了。

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的ElasticSearch重启之后shard未分配问题的解决的全部內容,希望文章能夠幫你解決所遇到的問題。

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