簡體   English   中英

在Docker中將Elasticsearch集群從2.x升級到5.x時表示紅色/懸空

[英]Indices Red/Dangling when upgrading Elasticsearch cluster from 2.x to 5.x in docker

我管理一個小的ELK堆棧,該堆棧位於一個Docker主機上,該主機具有3個節點的Elasticsearch群集,一個主節點,一個客戶端節點和一個數據節點,每個節點都運行Elasticsearch2.4.x。 這些節點中的每個節點都安裝了與elasticsearch數據目錄相同的主機目錄綁定,即使只有數據節點也需要它。

在測試到5.x的升級路徑時,我遇到了一個非常奇怪的問題。 群集將恢復,但不會初始化任何2.x創建的索引,從而引發錯誤:

[oegDanglingIndicesState] [elastic-data] [[logstash-2017.02.01/pBco8d7dQAqmZoI37vUIOQ]] dangling index exists on local file system, but not in cluster metadata, auto import to cluster state

索引永遠不會初始化並保持紅色。 堆棧可以很好地創建新索引,如果刪除這些索引,則系統可以正常運行,但是如果我要在生產系統上執行此操作,則數據丟失肯定不是最佳選擇。

主節點和客戶端節點已裝入數據目錄的事實原來是導致此問題的原因。 Elasticsearch 5.x對數據目錄強制默認限制為1個節點,而主節點和客戶端2.x節點尚未進行主動數據管理,但它們影響了文件夾的結構。 通過首先從2.x群集上的主服務器和客戶端上刪除綁定安裝並自行進行排序,然后再升級到5.x,我能夠對所有綠色索引進行干凈的升級。 希望這對遇到此問題的其他人有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM