2013-04-03 3 views
5

Я пытаюсь использовать 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, который объясняет, почему изменения, внесенные в файл конфигурации, не работают.

+1

немого вопрос, но вы можете использовать более явное однонаправленное открытие? – mconlin

ответ