2017-10-26 5 views
3

4ノードのクラスタをホストデータに設定します。また、クラスタは1つのインデックスのみをホストするので、4つのノードすべてで同様のデータ型を持つことができます。Vespaでシャードを設定する方法は?

私たちの目標は、ノード上でデータをシャードにすることです。例えば、2つのシャードと2つのレプリカを考えてみましょう。 (これら4つのデータパーティションをホストするための合計4つのノード)

ドキュメントモードは「インデックス」で、グローバルは「真」です。 services.xmlの中のコンフィグ上記

<redundancy>2</redundancy> 

    <nodes> 
     <node hostalias="node1" distribution-key="0"/> 
     <node hostalias="node2" distribution-key="1"/> 
     <node hostalias="node3" distribution-key="2"/> 
     <node hostalias="node4" distribution-key="3"/> 
    </nodes>   

    <engine> 
     <proton> 
     <searchable-copies>2</searchable-copies> 
     <flush-on-shutdown>true</flush-on-shutdown> 
     </proton> 
    </engine> 

許可されていません。それは、有効な設定を受け入れるようにするために、

<redundancy>4</redundancy> 

<searchable-copies>4</searchable-copies> 

それは、ノードと少なくとも同じ数であるように、冗長性を求め、我々は設定する必要があります。

これは、4つのノードすべてがすべてのデータを持ち、それぞれにデータのコピーを含むように設定しています。 http://docs.vespa.ai/documentation/content/data-placement.htmlによると、global = trueが必要です。注目:

注:グローバルドキュメント機能は開発中です。 は現在すべての文書がすべてのノードに本来的に である設定でのみ利用可能です。つまり、それぞれが単一のノードを含むN個のグループです。

シャードにデータを配布するにはどうすればよいですか?ノード1とノード2に分散データを持たせ、ノード3とノード4に冗長性2のコピーを持たせることはできますか?

答えて

3

質問していただきありがとうございます - 私はグローバル= trueのドキュメントが少し混乱しているのを見ています。

あなたの場合、4つのノードで各文書の2つのレプリカを配布する(間違っていると私を修正します)。

グローバル機能が配布されますあなたが唯一のドキュメントタイプ(私は仮定)、それ故になし親を持つあなたのケースでは、そのグローバル使用していない -

グローバルは通常http://docs.vespa.ai/documentation/search-definitions.html#document-referencesのように親文書に使用されます4つのノードで4つのレプリカを作成します(必要な場合は、冗長性= 4を設定してください)。ここでもグローバルを使う必要はありません。

+0

ドキュメント内でglobal = trueをglobal = falseに変更すると、インデックスを再フィードする必要がありますか?または単に再デプロイすれば十分ですか? – enator

+1

これは、バケツをドキュメントに再配布するだけなので、再デプロイで十分です。あなたがrefeedする必要がある場合はplmk。ありがとう! –

関連する問題