5

FOSElasticaBundle を介してシステムで Elasticsearch と Symfony2 を使用しています。

私は 1 つのサーバーしか使用していませんでしたが、次のclientsように構成しても問題ありませんでした: https://github.com/FriendsOfSymfony/FOSElasticaBundle#basic-configuration

fos_elastica:
    clients:
        default: { host: localhost, port: 9200 }

しかし、クラスターに関しては、いくつかの方法で構成しようとしましたが、次のように機能しません。

fos_elastica:
    clients:
        default: [{host: localhost, port: 9200},{host: localhost, port: 9201}]

この:

fos_elastica:
    clients:
        default:
            - { host: localhost, port: 9200 }
            - { host: localhost, port: 9201 }

FOSElasticaBundle がElastica ライブラリを使用し、そのライブラリがパラメーターの配列を使用してクラスターに接続することを知っているため、上記のアプローチを試しました。

FOSElasticaBundle を構成してクラスターに接続する方法を知っている人はいますか?

前もって感謝します。

4

1 に答える 1

4

ElasticSearchはクラスターの負荷を分散するため、実際にすべてのノードを一覧表示する必要はありません。ただし、まだ可能です (たとえば、接続先のノードがオフラインになった場合など)。ただし、単純なラウンドロビンであることを覚えておいてください。

これはあなたがそれを行う方法です:

fos_elastica:
    clients:
        default:
            servers: 
                - { host: localhost, port: 9200 }
                - { host: localhost, port: 9201 }
于 2014-03-02T21:45:32.377 に答える