5

構築中のアプリケーションにElasticSearchを使用しようとしていますが、それをRackspaceサーバーでホストしています。ただし、このauto-discovery機能は機能していません。auto-discoveryブロードキャストとマルチキャストを使用して、一致するクラスター名を持つ他のノードを見つけるためだと思いました。この記事では、Rackspace が新しいクラウド ネットワーク機能でマルチキャストとブロードキャストをサポートするようになったと述べています。次に、この記事の指示に従ってネットワークを作成し、ノードが実行されている両方のサーバーにそのネットワークを追加しました。次に、両方のノードで再起動を試みElasticSearchましたが、お互いが見つからず、それぞれが自分自身を「マスター」として宣言しました (ログからの出力は次のとおりです)。

[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 ファイルで指定する必要がありますか?

別のアプローチを提供するこの記事も見つけました。記事の指示に従って、これを入れました/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 []

そして、エラーも続行もせずにそこで停止しました。

ElasticSearchRackspace クラウドでの作業に成功した人はいますか? ユニキャスト オプションも利用できることはわかっていますが、後で他のノードを簡単に追加できるようにするため、各 IP アドレスを個別に指定する必要はありません。ありがとう!

アップデート

私はまだ問題を解決していませんが、検索した結果、「古い」クラウド プラグインは廃止され、Amazon のクラウド用のEc2プラグインだけに置き換えられたというこの投稿を見つけました。うまくいかない。

4

1 に答える 1

0

セキュリティ上の理由から、パブリック クラウドではマルチキャストが無効になっています( で確認できますifconfig)。必要なものが得られる記事は次のとおりです。

https://developer.rackspace.com/blog/elasticsearch-autodiscovery-on-the-rackspace-cloud/

于 2015-01-21T13:19:54.123 に答える