У меня возникла проблема с ES 2.1.1, где каждый узел, который я запускаю, запускается как ведущий, и я не могу установить фактический кластер. В основном, я получаю 3 кластера по одному узлу, а не один 3-узловой кластер. Это не проблема, если я запускаю ES 1.4.2 с теми же конфигурационными файлами.elasticsearch 2.1.1 - невозможно установить кластер
мышление я страдал проблему разделенного мозга, я начал до 3 узлов, и даже имел
discovery.zen.minimum_master_nodes: 2
в моей конфигурации, но это не делает разницы. Ни один из узлов не знает о каких-либо других узлах, и ни один мастер не выбирается. Он ждет других узлов и не выбирает себя как мастер, но он никогда не обнаруживает никаких других узлов, которые присоединяются. Я предполагаю, что пинги вообще не отправляются.
Каждый узел имеет один и тот же конфигурационный файл, причем «node.name» является уникальным для каждого узла, и все это отлично работает на ES 1.4.2. Не уверен, что делать, чтобы заставить его работать над ES 2.1.1.
Полный конфигурационный файл выглядит следующим образом: (. Последние две строки, добавленные в попытке устранить разделенного мозга в качестве одной из причин этого не работал)
cluster.name: my_test_cluster
node.name: "my_node1" (diff for each node)
discovery.zen.ping.timeout: 30s
network.host: _non_loopback:ipv4_
discovery.zen.minimum_master_nodes: 2
discovery.zen.ping.multicast.enabled: true
журналы не показывают ничего плохого, кроме «Исключение MasterNotDiscoveredException [ждали [30s]]», когда я выполняю запрос CURL для проверки состояния/работоспособности кластера. Что ожидается.
У кого-нибудь есть мысли о том, почему разница в поведении между ними и как получить 2.1.1. за работой?
Как указано ниже, я включил запись для node.host в файлы конфигурации, но поведение не изменилось.
Спасибо за ваш ответ! Я внес изменения, и я вижу, что при запуске publish_address и bound_address теперь обновляются на мой IP-адрес, а не на localhost. Однако поведение по-прежнему остается прежним. Вот что я получаю: 'C: \ Program Files \ cURL \ bin> curl -XGET http://172.16.0.68:9200/_cluster/health?довольно = истина " { "ошибка": { "ROOT_CAUSE": [{ "типа": "master_not_discovered_exception", "причина": "ждали [30s]" }], "Тип":" master_not_discovered_exception», „причина“:„ждали [30s]“ }, „статус“: 503 }' –
Попробуйте network.bind я обнаружил, что я должен был указать фактический IP-адрес, так как он не автоматически. binding 0.0.0.0 – hubbardr
@hubbardr Это уже не относится к ES 2.x. Это то, что он сделал для более ранних версий (ES 1.x). – pickypg