7

「me.prettyprint.hector.api.exceptions.HUnavailableException: : 一貫性レベルを処理するのに十分なレプリカが存在しない可能性があります。」という問題が発生しています。RF=1、読み取り整合性レベル = 1 の場合、6 ノード リング/クラスタのノードの 1 つがダウンしています。私のすべての読み取りは、この例外で失敗しています。何か案が?理想的には、ダウンしているノードでデータを探している読み取りのみが失敗し、他のすべての読み取りは成功するはずですか?

4

2 に答える 2

4

いくつかの可能性があります:

  • 複数のノードを起動する必要がある複数行のクエリ (get_range、get_indexed_slices、multiget、または同等の cql) を実行している
  • クラスターのバランスが崩れており、ダウンしているノードがリングの大部分を所有しています。不適切なマルチ DC 構成でも同様の結果が生じる可能性があります
  • クラスターは、一部のノードが他のノードを認識しないなど、最初から良好な状態ではありませんでした。クラスター内の各ノードに対して実行したときに nodetool リングが同じ出力を表示することを確認してください

これらのいずれも原因でない場合は、Hector と cqlsh で整合性レベルを正しく指定していることを再確認してください。

于 2012-09-06T01:33:06.117 に答える
3

レプリケーション設定を誤って構成したときに、同様の現象が発生しました。具体的には、レプリケーション戦略で間違ったデータセンターの名前を付けていました。DC が何であるかを再確認します (NetworkTopologyStrategy を使用していると仮定します)。

DC 名がわからない場合は、いずれかのノードのシェルで次を実行します。

$ nodetool -h localhost ring
Address         DC          Rack        Status State   Load            Owns    Token                                       
                                                                               141784319550391000000000000000000000000     
172.26.233.135  Cassandra   rack1       Up     Normal  25.75 MB        16.67%  0                                           
172.26.233.136  Cassandra   rack1       Up     Normal  26.03 MB        16.67%  28356863910078200000000000000000000000      
172.26.233.137  Cassandra   rack1       Up     Normal  27.19 MB        16.67%  56713727820156400000000000000000000000      
172.26.233.138  Cassandra   rack1       Up     Normal  26.78 MB        16.67%  85070591730234600000000000000000000000      
172.26.233.139  Solr        rack1       Up     Normal  24.47 MB        16.67%  113427455640313000000000000000000000000     
172.26.233.140  Solr        rack1       Up     Normal  26.66 MB        16.67%  141784319550391000000000000000000000000 

Cassandra と Solr の 2 つの DC があることがわかります (これは DSE クラスターです)。

cassandra-cli:

use Keyspace1;
describe;

CLI は戦略オプションを出力します。

Keyspace: Catalog:
  Replication Strategy: org.apache.cassandra.locator.NetworkTopologyStrategy
  Durable Writes: true
    Options: [DC1:3]
...

ミスマッチがあります。Cassandra が DC1 という名前のデータセンターを探しているため、UnavailableException が発生します。クラスター内の実際の DC と一致するようにレプリケーション オプションを更新する必要があります。CLI で、データセンター名を使用してキースペースの戦略オプションを更新します。

update keyspace Keyspace1 with strategy_options = {Cassandra:3,Solr:2};
于 2012-09-06T15:44:31.573 に答える