我開始了一個新的elasticsearch集羣並添加了一個新索引,然後關閉它。 當我嘗試再次啓動時,不再有活動的分片。所有碎片變得無效並且未分配。 我用下面這個指標設置:elasticsearch:重啓單個節點集羣時,所有主分片都變爲非活動狀態
"settings": {
"number_of_shards": 32,
"number_of_replicas": 3
}
這裏是健康輸出:
{
"cluster_name" : "sailcraft",
"status" : "red",
"timed_out" : false,
"number_of_nodes" : 1,
"number_of_data_nodes" : 1,
"active_primary_shards" : 0,
"active_shards" : 0,
"relocating_shards" : 0,
"initializing_shards" : 0,
"unassigned_shards" : 128,
"number_of_pending_tasks" : 0
}
這裏是same problem which has been marked solved。但我不認爲這是解決方案。
編輯:
這是同樣的問題,但我認爲文章沒有得到正確的答案。它表示如果我們有2個更多副本碎片,我們還需要2個節點。我閱讀了所有相關的文檔,並沒有任何這樣的限制。
EDIT2: 解決方案: 他設置index.recovery.initial_shards提供以下功能: 基本上,使用本地網關,「碎片」時,將被收回一旦其副本的法定人數是在節點之間找到集羣。 讓我們拿N分片,1副本(每個分片2副本)。默認(仲裁)意味着一旦找到分片的單個副本,它將被恢復。如果您有2個副本(3個副本),則只會在找到2個副本時恢復該分片。 您可以設置此設置,以防萬一您丟失了大量節點,並且仲裁的設置過於嚴格。你實際上可以將它設置爲「活動」索引(顯然,它處於「紅色」狀態,因爲不是所有碎片都被恢復)。
您提供的鏈接是您的案例中「紅色」狀態的原因。 –
這是同樣的問題,但我認爲後期劑量沒有得到正確的答案。它表示如果我們有2個更多副本碎片,我們還需要2個節點。我閱讀了所有相關的文檔,並沒有任何這樣的限制。 – nobody0day