簡體   English   中英

為什么我在本地主機上的Elasticsearch集群卡在黃色狀態而不是綠色?

[英]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.

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