您好,登錄后才能下訂單哦!
當您需要執行群集的滾動重新啟動時,將使群集保持聯機和運行狀態,但一次使一個節點脫機。
常見原因是Elasticsearch版本升級或服務器本身的某種維護(例如OS更新或硬件)。無論如何,都有一種特殊的方法來執行滾動重啟。
從本質上講,Elasticsearch希望您的數據能夠完全復制并均衡。如果關閉單個節點進行維護,群集將立即識別丟失節點并開始重新平衡。如果您知道節點維護是短期的,這可能會令人惱火,因為非常大的分片的重新平衡可能需要一些時間。
我們想要做的是告訴Elasticsearch推遲重新平衡,因為我們對外部因素導致的集群狀態有了更多的了解。程序如下:
如果可能,請停止索引新數據并執行同步刷新。這并非總是可行,但有助于加快恢復時間。同步刷新請求是“盡力而為”操作。如果有任何掛起的索引操作,它將失敗,但如果需要,可以安全地多次重新發出請求。
POST?/?_flush?/?同步
禁用分片分配。這可以防止Elasticsearch重新平衡丟失的分片,除非您另有說明。如果您知道維護窗口很短,這是一個好主意。您可以按如下方式禁用分配:
curl?xput??-d'{"transient":{"cluster.routing.allocation.enable":"none"}}'
停止需要重啟的節點:curl xput http://ip:port/_cluster/node/_local/_shutdown
重新啟動節點,并確認它加入群集。
對其余節點重復步驟3、4。
重新啟用分片分配如下:
curl?xput?http://ip:9092/_cluster/shard/setting?-d'{"transient":{"cluster.routing.allocation.enable":"all"}}'
碎片重新平衡可能需要一些時間。等到群集恢復到狀態green
后再繼續。
此時,您可以安全地恢復索引(如果您之前已停止過),但在恢復索引之前等待群集完全平衡將有助于加快進程。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。