背景:公司的Es集群有兩個(gè)Es節(jié)點(diǎn),其中有一臺(tái)機(jī)器磁盤不是太大短荐,經(jīng)常導(dǎo)致Es處于只讀狀態(tài)(Es在磁盤空間小于等于5%時(shí)會(huì)自動(dòng)進(jìn)入只讀狀態(tài))倚舀。最近公司剛好有一臺(tái)空閑的服務(wù)器,所以我就打算把磁盤空間不太大的Es服務(wù)器替換了(有人會(huì)問忍宋,為什么不增加磁盤痕貌。哎。糠排。舵稠。小公司,我也很無(wú)奈)。費(fèi)了9牛二虎之力終于把經(jīng)常有問題的服務(wù)器替換下來(lái)了哺徊。但是發(fā)現(xiàn)集群狀態(tài)不正常了室琢,由之前的green變?yōu)閥ellow。小弟第一次處理這樣的問題唉工,記錄下處理過程研乒,便于加強(qiáng)記憶。
- 首先要確認(rèn)淋硝,那些索引處于yellow狀態(tài)
# 執(zhí)行命令
GET _cluster/health?level=indices
- 查看處于yellow狀態(tài)的原因
# 執(zhí)行命令
GET _cluster/allocation/explain
{
"index": "t_xa87_shop",
"shard": 0,
"primary": true
}
查看原因雹熬,analyzer [ik_max_word] not found for field。由于新安裝的Es沒有安裝分詞插件導(dǎo)致谣膳。按照官網(wǎng)教程進(jìn)行安裝竿报。
注:https://github.com/medcl/elasticsearch-analysis-ik 主要要版本對(duì)應(yīng)。
- 對(duì)有問題的yellow索引继谚,進(jìn)行分片副本重建
# 執(zhí)行副本重建命令
POST /_cluster/reroute -d
{
"commands": [
{
"allocate_replica": {
"index": "t_xa87_shop",
"shard": 0,
"node": "node-3"
}
}
]
}
# 如果上面的不行可以添加如下參數(shù)
POST /_cluster/reroute?retry_failed=true -d
{
"commands": [
{
"allocate_replica": {
"index": "t_xa87_shop",
"shard": 0,
"node": "node-3"
}
}
]
}