Я пытаюсь использовать ElasticSearch для приложения, которое я создаю, и я размещаю его на серверах Rackspace. Однако функция auto-discovery
не работает. Я думал, что это потому, что auto-discovery
использует широковещательную и многоадресную рассылку, чтобы найти другие узлы с соответствующим именем кластера. Я нашел это article, говоря, что Rackspace теперь поддерживает многоадресную рассылку и трансляцию со своей новой облачной сетью. Затем, следуя инструкциям в статье, я создал сеть и добавил эту сеть для обоих серверов, на которых выполнялись узлы. Затем я попытался перезапустить ElasticSearch
на обоих узлах, но они не нашли друг друга, и каждый объявил себя в качестве «хозяина» (вот выход из бревен):elasticsearch auto-discovery rackspace не работает
[2013-04-03 22:14:03,516][INFO ][node ] [Nemesis] {0.20.6}[2752]: initializing ...
[2013-04-03 22:14:03,530][INFO ][plugins ] [Nemesis] loaded [], sites []
[2013-04-03 22:14:07,873][INFO ][node ] [Nemesis] {0.20.6}[2752]: initialized
[2013-04-03 22:14:07,873][INFO ][node ] [Nemesis] {0.20.6}[2752]: starting ...
[2013-04-03 22:14:08,052][INFO ][transport ] [Nemesis] bound_address {inet[/0:0:0:0:0:0:0:0:9300]}, publish_address {inet[/166.78.177.149:9300]}
[2013-04-03 22:14:11,117][INFO ][cluster.service ] [Nemesis] new_master [Nemesis][3ih_VZsNQem5W4csDk-Ntg][inet[/166.78.177.149:9300]], reason: zen-disco-join (elected_as_master)
[2013-04-03 22:14:11,168][INFO ][discovery ] [Nemesis] elasticsearch/3ih_VZsNQem5W4csDk-Ntg
[2013-04-03 22:14:11,202][INFO ][http ] [Nemesis] bound_address {inet[/0:0:0:0:0:0:0:0:9200]}, publish_address {inet[/166.78.177.149:9200]}
[2013-04-03 22:14:11,202][INFO ][node ] [Nemesis] {0.20.6}[2752]: started
[2013-04-03 22:14:11,275][INFO ][gateway ] [Nemesis] recovered [0] indices into cluster_state
журнала другого узла в:
[2013-04-03 22:13:54,538][INFO ][node ] [Jaguar] {0.20.6}[3364]: initializing ...
[2013-04-03 22:13:54,546][INFO ][plugins ] [Jaguar] loaded [], sites []
[2013-04-03 22:13:58,825][INFO ][node ] [Jaguar] {0.20.6}[3364]: initialized
[2013-04-03 22:13:58,826][INFO ][node ] [Jaguar] {0.20.6}[3364]: starting ...
[2013-04-03 22:13:58,977][INFO ][transport ] [Jaguar] bound_address {inet[/0:0:0:0:0:0:0:0:9300]}, publish_address {inet[/166.78.63.101:9300]}
[2013-04-03 22:14:02,041][INFO ][cluster.service ] [Jaguar] new_master [Jaguar][WXAO9WOoQDuYQo7Z2GeAOw][inet[/166.78.63.101:9300]], reason: zen-disco-join (elected_as_master)
[2013-04-03 22:14:02,094][INFO ][discovery ] [Jaguar] elasticsearch/WXAO9WOoQDuYQo7Z2GeAOw
[2013-04-03 22:14:02,129][INFO ][http ] [Jaguar] bound_address {inet[/0:0:0:0:0:0:0:0:9200]}, publish_address {inet[/166.78.63.101:9200]}
[2013-04-03 22:14:02,129][INFO ][node ] [Jaguar] {0.20.6}[3364]: started
[2013-04-03 22:14:02,211][INFO ][gateway ] [Jaguar] recovered [0] indices into cluster_state
Достаточно добавить сеть (Rackspace также дал мне IP для этой сети)? Нужно ли мне как-то указывать в файле conf, чтобы проверить, что сеть при использовании многоадресной рассылки для поиска других узлов?
Я также нашел это article, который предложил другой подход. За инструкциями артикля я это в /config/elasticsearch.yml
:
cloud:
account: account #
key: account key
compute:
type: rackspace
discovery:
type: cloud
Однако тогда, когда я пытался перезапустить ElasticSearch
я получил это:
Stopping ElasticSearch...
Stopped ElasticSearch.
Starting ElasticSearch...
Waiting for ElasticSearch.......
WARNING: ElasticSearch may have failed to start.
И она не запуститься. Я проверил в лог-файл на наличие ошибок, но это было все, что было там:
[2013-04-03 22:31:00,788][INFO ][node ] [Chamber] {0.20.6}[4354]: initializing ...
[2013-04-03 22:31:00,797][INFO ][plugins ] [Chamber] loaded [], sites []
И остановился там без каких-либо ошибок и без продолжения.
Кто-нибудь успешно получил ElasticSearch
для работы в облаке Rackspace раньше? Я знаю, что опция одноадресной рассылки также доступна, но я бы предпочёл не указывать каждый IP-адрес по отдельности, так как мне бы хотелось добавить другие узлы позже. Благодаря!
UPDATE
Я не решен вопрос пока нет, но после некоторых поисков я нашел post, который говорит «старый» облако плагин был прекращен и заменен только на Ec2 плагин для облака Amazon, который объясняет, почему изменения, внесенные в файл конфигурации, не работают.
немого вопрос, но вы можете использовать более явное однонаправленное открытие? – mconlin