Elasticsearch クラスターを実行したい 5 台のマシンがあり、それらはすべて共有ドライブに接続されているとします。私はelasticsearchの単一のコピーをその共有ドライブに置いて、3つすべてがそれを見ることができるようにしました. すべてのマシンの共有ドライブで Elasticsearch を開始するだけで、クラスタリングが自動的に機能しますか? または、elasticsearch が 5 台のマシンで実行されていることを認識するようにするには、特定の設定を構成する必要がありますか? もしそうなら、関連する設定は何ですか?レプリカの構成について心配する必要がありますか、それとも自動的に処理されますか?
4 に答える
通常は自動的に処理されます。
自動検出が機能しない場合。ユニキャスト検出を有効にして、エラスティック検索構成ファイルを編集します
ノード 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 を実行しているとします。
とても簡単です。
各マシンには、ElasticSearch の独自のコピーが必要です (現在持っているものをコピーするだけです)。これは、各マシン/ノードが、クラスター全体で分割された独自のファイルを保持するためです。
実際に行う必要があるのは、構成ファイルを編集してクラスターの名前を含めることだけです。
すべてのマシンが同じクラスター名を持っている場合、elasticsearch は残りを自動的に行います (マシンがすべて同じネットワーク上にある限り)。
開始するには、こちらをお読みください: https://www.elastic.co/guide/en/elasticsearch/guide/current/deploy.html
インデックスを作成するとき (データの場所)、必要なレプリカの数をその時点で定義します (レプリカはクラスター全体に分散されます)。