83

Elasticsearch クラスターを実行したい 5 台のマシンがあり、それらはすべて共有ドライブに接続されているとします。私はelasticsearchの単一のコピーをその共有ドライブに置いて、3つすべてがそれを見ることができるようにしました. すべてのマシンの共有ドライブで Elasticsearch を開始するだけで、クラスタリングが自動的に機能しますか? または、elasticsearch が 5 台のマシンで実行されていることを認識するようにするには、特定の設定を構成する必要がありますか? もしそうなら、関連する設定は何ですか?レプリカの構成について心配する必要がありますか、それとも自動的に処理されますか?

4

4 に答える 4

53

通常は自動的に処理されます。

自動検出が機能しない場合。ユニキャスト検出を有効にして、エラスティック検索構成ファイルを編集します

ノード 1:

    cluster.name: mycluster
    node.name: "node1"
    node.master: true
    node.data: true
    discovery.zen.ping.multicast.enabled: false
    discovery.zen.ping.unicast.hosts: ["node1.example.com"]

ノード 2:

    cluster.name: mycluster
    node.name: "node2"
    node.master: false
    node.data: true
    discovery.zen.ping.multicast.enabled: false
    discovery.zen.ping.unicast.hosts: ["node1.example.com"]

ノード 3、4、5 についても同様です。ノード 1 をマスターにし、残りはデータ ノードのみにします。

編集: ES ルールにより、ノードがあるN場合、慣例により、N/2+1ノードはフェイルオーバーメカニズムのマスターである必要があることに注意してください。ただし、データノードである場合とそうでない場合があります。

また、自動検出が機能しない場合、最も可能性の高い理由は、ネットワークで許可されていない (したがって無効になっている) ことです。複数のサーバーで行われる自動検出 ping が多すぎると、これらの ping を管理するリソースによって、他のサービスが正しく実行されなくなります。

たとえば、10,000 ノードのクラスターと、10,000 ノードすべてが自動 ping を実行しているとします。

于 2014-03-04T07:11:48.490 に答える
53

とても簡単です。

各マシンには、ElasticSearch の独自のコピーが必要です (現在持っているものをコピーするだけです)。これは、各マシン/ノードが、クラスター全体で分割された独自のファイルを保持するためです。

実際に行う必要があるのは、構成ファイルを編集してクラスターの名前を含めることだけです。

すべてのマシンが同じクラスター名を持っている場合、elasticsearch は残りを自動的に行います (マシンがすべて同じネットワーク上にある限り)。

開始するには、こちらをお読みください: https://www.elastic.co/guide/en/elasticsearch/guide/current/deploy.html

インデックスを作成するとき (データの場所)、必要なレプリカの数をその時点で定義します (レプリカはクラスター全体に分散されます)。

于 2013-05-29T18:23:51.757 に答える