2

14 ノードのクラスターに Elasticsearch が組み込まれた Java アプリケーションがあります。すべてのデータは中央データベースに存在し、クエリのためにelasticsearchでインデックスが作成されます。完全な再インデックスはいつでも実行できます。

システムは非常にクエリが多く、書き込みの量は少ないです。ドキュメントの数は、たとえば 300.000 を超えることはありません。各ドキュメントのサイズは、数個の ID から、たとえば数ページのワード ドキュメントから抽出されたテキストまで、大きく異なります。

完全に故障した場合でも、システムが機能するには 1 つまたは 2 つのノードがあれば十分であることを確認したいと思います。

データのマスター コピーがデータベースにあるため、書き込みの一貫性は問題にならないはずです。また、ES は最新バージョンを使用して競合するデータを解決できるようです (この場合は問題ありません)。

私の最初の方法は、1 つのシャードと 13 のレプリカを使用することです。これにより、すべてのノードがすべてのデータにアクセスできるようになります。これは、2 つのシャード / 13 のレプリカを使用することでも実現できます。したがって、すべてのデータを確実に利用できるようにするために、レプリカの数はノードの数 - 1 にする必要があります。 )。

ノード数の要件が「常に 2 つのノードが必要」に減る場合、「x/ノード数 - 2」のシャード/レプリカ分散で十分です。

だから、質問のために:

上記のセットアップと私の考えが正しいと主張すると、1 シャード/13 レプリカのセットアップは理にかなっていますか、それともシャードを追加して実行することで何か得られるものがありますか?たとえば、4 シャード/13 レプリカのセットアップを実行しますか?

4

2 に答える 2

0

かなりの調査と ES 教祖との会話の後。

シャードのサイズが十分に小さい限り、このクラスターをセットアップする最も効率的な方法は、13 個のレプリカを持つ 1 つのシャードのみです。パフォーマンスが低下し始めたシャードのしきい値サイズを特定できませんでした。

于 2013-10-29T11:37:51.857 に答える