[英]Why is my Elasticsearch cluster on localhost stuck in yellow status instead of green?
通過創建3個不同的配置文件,然后運行以下命令,我在開發盒上啟動了3個彈性搜索實例:
elasticsearch.bat -Des.config="C:\Program Files\elasticsearch-1.5.1\config\elasticsearch.yml"
elasticsearch.bat -Des.config="C:\Program Files\elasticsearch-1.5.1\config\elasticsearch_1.yml"
elasticsearch.bat -Des.config="C:\Program Files\elasticsearch-1.5.1\config\elasticsearch_2.yml"
這似乎已成功創建了3個節點,但是群集運行狀況顯示為:
{
"cluster_name": "elasticsearch",
"status": "yellow",
"timed_out": false,
"number_of_nodes": 3,
"number_of_data_nodes": 3,
"active_primary_shards": 135,
"active_shards": 135,
"relocating_shards": 0,
"initializing_shards": 0,
"unassigned_shards": 135,
"number_of_pending_tasks": 0
}
啟用了多播(因為它是默認設置),並且所有配置文件都具有默認設置。 我在每個設置中所做的唯一明確設置是:
script:
disable_dynamic: false
這是我需要的,因為我使用的是腳本字段,但是我認為此設置不太可能對我當前的問題產生影響。 我期望該集群應該是綠色的,因為默認副本數為1。出於某種原因,elasticsearch認為副本分片處於非活動狀態,但是我不知道為什么它不激活副本。 以下鏈接似乎與我所做的事情相似,但卻實現了具有綠色狀態的集群:
http://thediscoblog.com/blog/2013/09/03/effortless-elasticsearch-clustering/
有什么想法我可能做錯了嗎?
更新為了給Andrei給出的答案一些背景,在日志中查看會發現類似以下內容的行反復出現:
[2015-05-08 16:04:25,284][WARN ][cluster.routing.allocation.decider] [Robert Kelly] high disk watermark [10%] exceeded on [IZ6wN0KQQMSjjtkhfkQnMQ][Yith] free: 6.2gb[5.2%], shards will be relocated away from this node
[2015-05-08 16:04:25,284][WARN ][cluster.routing.allocation.decider] [Robert Kelly] high disk watermark [10%] exceeded on [AQ8BnsURQsCywKxkjStu7A][Robert Kelly] free: 6.2gb[5.2%], shards will be relocated away from this node
[2015-05-08 16:04:25,284][WARN ][cluster.routing.allocation.decider] [Robert Kelly] high disk watermark [10%] exceeded on [ZlH32e6JT9C_VcAfNtxV0A][Maxam] free: 6.2gb[5.2%], shards will be relocated away from this node
您沒有足夠的磁盤空間,並且不再分配副本。 跑
PUT /_cluster/settings
{
"transient": {
"cluster.routing.allocation.disk.threshold_enabled": false
}
}
禁用保護機制。 但這是一個臨時解決方案,當然您需要釋放一些磁盤空間。 此外,群集重新啟動后,錯誤將再次出現。
如果您希望它是永久的,請運行
PUT /_cluster/settings
{
"persistent": {
"cluster.routing.allocation.disk.threshold_enabled": false
}
}
區別在於,后一種情況下的設置是persistent
,這意味着它將在群集重啟后繼續存在。
這或更改閾值的限制 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.