elastic search 如何將yellow 狀態變爲green健康狀態

背景原理

green狀態:每個索引的primary shard和replica shard都是active狀態
yellow : 每個索引的primary shard都是active狀態,但是部分replica shard不是active狀態,處於不可用狀態
red: 不是所有的索引的primary shard都是active狀態,部分索引有數據丟失了

爲什麼現在處於一個yellow狀態

我們現在就一臺機器,就啓動了一個es進程。相當於就起了一個節點,由於默認的配置是每個index分配5個primary shard和1 個replica shard,而且primary shard和replica shard不能在一個機器上(爲了容錯)。所以,現在的replica shard沒法被分配

在這裏插入圖片描述

ps -ef | grep ela

後發現只有一個進程
在這裏插入圖片描述
此時,我們再啓動一個進程,觀察下
在這裏插入圖片描述
果然:
在這裏插入圖片描述

我們需要釋放一點內存來啓動
通過top查看現在最佔內存的應用:
在這裏插入圖片描述
我們去看看1330這個進程

ps -ef |grep 1330

發現是之前測試的一個高版本的es進程,果斷幹掉
在這裏插入圖片描述
再次查看內存後ok
在這裏插入圖片描述

再次嘗試啓動es 5.4
報錯如下:
在這裏插入圖片描述

應該是配置最大節點數目爲1了,日誌說的也比較明顯了

因爲默認配置的1,我們一般也只在一臺機子上部署一個節點,不過我們開發環境爲了演示變爲green,這裏配置下爲2

配置如下:
在這裏插入圖片描述

這次啓動沒上面這個問題了
不過我們忘了改端口在這裏插入圖片描述

注意,ES的配置文件必須使用elasticsearch.yml這個命名,因此必須創建出兩個目錄來。所以,我這裏copy一份配置,重新建立一個目錄進行操作,並配置如下:

把默認的端口改掉

在這裏插入圖片描述
修改日誌位置:
在這裏插入圖片描述

修改節點名:
在這裏插入圖片描述

重新啓動成功

在這裏插入圖片描述

再次查看es的狀態

在這裏插入圖片描述
任然是yellow,查看節點2 的日誌:
在這裏插入圖片描述
意思是不能組成一個集羣。最後查看相關文獻,刪除掉從master複製來的data目錄下的nodes節點內容,啓動ok!
節點02 加入集羣:

在這裏插入圖片描述
在這裏插入圖片描述

之前的這個索引已經有一個replica分配過來了
在這裏插入圖片描述

因爲我這邊之前程序創建索引沒指定個數,默認是1個主分片,5個副本
通過查看索引setting配置
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

所以,我這裏手動將副本改爲1個
在這裏插入圖片描述
再次查看在這裏插入圖片描述

在這裏插入圖片描述
修復成功!
在這裏插入圖片描述

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