我已经使用 Homebrew 在 Mac OS X 上安装了 ElasticSearch。有用。集群以“绿色”健康开始。但是,在添加数据后,它就变成了“黄色”。
集群健康状态为:绿色、黄色或红色。在分片级别,红色状态表示集群中未分配特定分片,黄色表示已分配主分片但未分配副本,绿色表示已分配所有分片。索引级别状态由最差的分片状态控制。集群状态由最差的索引状态控制。
所以,我的副本分片没有分配。我如何分配它们?(我在大声思考。)
根据 Shay 关于“我不断获得 Yellow 的集群健康状况”的说法:“分片分配机制不会在同一个节点上分配一个分片及其副本,尽管它确实在同一个节点上分配了不同的分片。所以,你需要两个节点获得绿色集群状态。”
所以,我需要启动第二个节点。我这样做是:
cd ~/库/LaunchAgents/ cp homebrew.mxcl.elasticsearch.plist homebrew.mxcl.elasticsearch-2.plist # 将第 8 行更改为:homebrew.mxcl.elasticsearch-2 launchctl load -wF ~/Library/LaunchAgents/homebrew.mxcl.elasticsearch-2.plist
现在我有“Korvus”http://localhost:9200/
和“Iron Monger” http://localhost:9201/
。呜呜。但是,我没有看到任何迹象表明他们彼此了解。我如何将它们连接/介绍给彼此?
注意:我读过Zen Discovery,但还没有开悟。
美国东部时间 2012 年 8 月 13 日晚上 11:30 更新:
这是我的两个节点:
curl "http://localhost:9200/_cluster/health?pretty=true"
{
"cluster_name" : "elasticsearch_david",
"status" : "green",
"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" : 0
}
curl "http://localhost:9201/_cluster/health?pretty=true"
{
"cluster_name" : "elasticsearch_david",
"status" : "green",
"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" : 0
}
美国东部时间 2012 年 8 月 13 日晚上 11:35 更新:
为了澄清,我的问题不是如何通过设置“忽略”问题index.number_of_replicas: 0
。我想要多个节点,连接。
美国东部时间 2012 年 8 月 13 日晚上 11:48 更新:
我刚刚发布了一个包含 elasticsearch.yml 和 elasticsearch_david.log 的双重要点。在我看来,两个节点都称自己为“主人”。这是我应该期待的吗?
美国东部时间 2012 年 8 月 14 日上午 12:36 更新:
小说还在继续!:) 如果我断开我的 Mac 与所有外部网络的连接,然后重新启动节点,它们就会找到彼此。双伍。这让我认为问题出在我的网络/多播配置上。目前我在我的配置中有这个:network.host: 127.0.0.1
。也许这不正确?