elasticsearch分片報錯Unassigned

貼一下錯誤信息:

一、設置副分片

1.查詢索引設置:發現副本數爲2,直接設置爲0

product/_settings

2.設置副本數爲0

PUT參數: 

{"number_of_replicas":0}

 3.此時在看集羣節點狀態

此時他會自動分配到其他節點,如果一直沒有分配到其他節點,那就是其他節點有錯誤信息,沒同步成功,我這裏就一直沒成功,發現是應爲ik分詞器報錯,所以在子節點安裝了ik分詞器以後重啓節點即可。

成功的截圖(我後來又將副分片設置成一就好了,設置成2仍然會出現3個未分配分片,應該和節點數量有關。可以嘗試加節點或者減少副分片):

 

二、命令行強制分配分片

1.查看集羣健康狀態:

curl -XGET http://localhost:9200/_cluster/health?pretty

圖中顯示有6個分片未分配節點 

2.查看未分配分片狀態

curl -s "http://localhost:9200/_cat/shards" | grep UNASSIGNED

 3.查看節點爲master的節點唯一標識

curl 'localhost:9200/_nodes/process?pretty'

4.執行reroute

curl -H "Content-Type: application/json" -XPOST 'localhost:9200/_cluster/reroute' -d '{
    "commands" : [ 
        {
            "allocate_replica" : {
                "index" : "product",
                "shard" : 0,
                "node" : "master"
             }
        }
    ] 
}'

index:需要修復的索引的名字product

shard:shard的編號,圖中可以看出0,1,2

node:master節點名字

備註:我在執行該命令的時候報錯:

看到上面有說ik分詞器,纔想起來master上面的product使用了ik分詞器,從節點沒有安裝,所以無法成功強制分片。此時需要將從節點也安裝ik分詞器。 一定要重啓!!!!!!

檢驗ik分詞器是否安裝:

post執行: _analyze

參數:{"text":"中華人民共和國人民大會堂","analyzer":"ik_max_word"}

正確結果返回如圖:

 

參考:https://blog.csdn.net/wer724853863/article/details/78533105

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章