0.現象
es 集群報red ,有unassigned shared ,
用命令 curl localhost:9200/_cat/shards |grep UNASSIGNED 可以查看。
即使你馬上加節點,還是沒有改善。新節點並不會正常工作,可能跟集群red有關系。
1.根本原因
節點磁盤不足,導致某些分片無法分配,一般情況下都有集群會有水位設置,比如說可以設置50G或者到85%的時候就不往里寫數據了,
但是之前一次出了故障導致必須放開這個限制,之后沒加上。
可以用命令:
GET /_cluster/allocation/explain
查看詳細原因。
2.解決方案
POST /_cluster/reroute?retry_failed=true
es的機制貌似是try了5次就停了,重啟master或者node都無效,執行上面的命令可以再retry。
3.后記
es這個東西還是復雜,而且很重,沒有專業團隊維護后期數據量大了很難維護。