У меня установлен ElasticSearch в Mac OS X с использованием Homebrew. Оно работает. Кластер начал с "зеленого" health. Однако сразу после добавления данных он перешел на "желтый".
Состояние кластера - это состояние: зеленый, желтый или красный. На уровне осколков красный статус указывает, что конкретный осколок не выделен в кластере, желтый означает, что первичный осколок выделен, а реплики - нет, а зеленый означает, что все осколки выделены. Состояние уровня индекса контролируется наихудшим статусом осколков. Состояние кластера контролируется наихудшим статусом индекса.
Итак, мои реплики не выделены. Как их выделить? (Я думаю вслух.)
Согласно Shay на "Я продолжаю получать статус здоровья кластера Желтым" : "механизм выделения осколков не выделяет осколок и его реплику на том же node, хотя он выделяет разные осколки на одном и том же node. Таким образом, вам понадобится два узла, чтобы получить состояние кластера зеленого цвета."
Итак, мне нужно запустить второй node. Я сделал это:
cd ~/Library/LaunchAgents/ cp homebrew.mxcl.elasticsearch.plist homebrew.mxcl.elasticsearch-2.plist # change line 8 to: homebrew.mxcl.elasticsearch-2 launchctl load -wF ~/Library/LaunchAgents/homebrew.mxcl.elasticsearch-2.plist
Теперь у меня есть "Корвус" на http://localhost:9200/
и "Iron Monger" на http://localhost:9201/
. Woot. Но я не вижу никаких признаков того, что они знают друг о друге. Как подключить/ввести их друг другу?
Примечание. Я читаю Zen Discovery, но пока не чувствую себя просветленным.
Обновление 2012-08-13 11:30 вечера EST:
Вот мои два узла:
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-08-13 11:35 вечера EST:
Чтобы уточнить, мой вопрос не как "игнорировать" проблему, установив index.number_of_replicas: 0
. Я хочу несколько узлов, связанных.
Обновление 2012-08-13 11:48 вечера EST:
Я только что разместил двойную сущность которая включает elasticsearch.yml и elasticsearch_david.log. Мне кажется, что оба узла называют себя "мастером". Это то, что я должен ожидать?
Обновление 2012-08-14 12:36 AM EST:
И роман продолжается!:) Если я отключу свой Mac от всех внешних сетей, а затем перезапустите узлы, они найдут друг друга. Двойной Woot. Это заставляет меня думать, что проблема связана с моей конфигурацией сети/многоадресной рассылки. В настоящее время у меня это в моей конфигурации: network.host: 127.0.0.1
. Возможно, это неверно?