Elasticsearch強制重置未分配的分片(unassigned)


強制重置未分片的分片,這個問題源自於Elasticsearch維護中,Node意外退出的場景。

意外退出后Elasticsearch由於網絡原因或者jvm性能壓力,未能短時間內分配分片。

看一下分片的狀態。可以看到有一些分片處於未分配狀態。

curl http://10.93.21.21:8049/_cat/shards

 

我們這里是node-client09節點掛掉了,重啟這個節點之后,通過下面的腳本,可以將分片重新分派到node-client09。

NODE="node-client09"  
IFS=$'\n'  
for line in $(curl -s 'http://10.93.21.21:8049/_cat/shards' | fgrep UNASSIGNED); do  
  INDEX=$(echo $line | (awk '{print $1}'))  
  SHARD=$(echo $line | (awk '{print $2}'))  
  echo $INDEX
  echo  $SHARD
  curl -XPOST 'http://10.93.21.21:8049/_cluster/reroute' -d '{  
     "commands": [  
        {  
            "allocate": {  
                "index": "'$INDEX'",  
                "shard": '$SHARD',  
                "node": "'$NODE'",  
                "allow_primary": true  
          }  
        }  
    ]  
  }'  
done 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM