在Elasticsearch中,索引的健康狀態(health status)反映了索引的分片分配情況和叢集的整體健康狀況。這些狀態可以幫助您快速瞭解索引和叢集的執行情況。以下是Elasticsearch中索引的三種健康狀態及其意義:
1. green(綠色)
含義:所有主分片(primary shards)和副本分片(replica shards)都已成功分配到叢集中的節點(node)上。
特點:
叢集中的所有資料都是完全可用的。
所有主分片和副本分片都已成功分配。
叢集處於最佳狀態,具有最高的冗餘和容錯能力。
2. yellow(黃色)
含義:所有主分片都已成功分配,但至少有一個副本分片未被分配。
特點:
叢集中的所有資料都是可讀寫的,但不是所有的副本分片都已分配。
這種狀態通常是由於叢集中的節點數量不足,無法滿足副本分片的分配要求。
雖然資料是安全的,但容錯能力降低,因為某些資料只有主分片而沒有副本分片。
3. red(紅色)
含義:至少有一個主分片未被分配。
特點:
叢集中的部分資料不可用,可能導致搜尋結果不完整或寫入操作失敗。
主分片未分配的原因可能是節點故障、網路問題或配置錯誤。
這種狀態下,叢集的穩定性和資料完整性受到嚴重影響,需要立即採取措施進行修復。
以上說明中存在一些術語——主分片(primary shards)和副本分片(replica shards)
,首先需要理解這些術語,對於Elasticsearch叢集而言,每個索引(index)的資料會被分成多個主分片,這些主分片分佈在不同的節點上。