2012-09-05 9 views
7

"me.prettyprint.hector.api.exceptions.HUnavailableException :::整合性レベルを処理するのに十分なレプリカが存在しない可能性があります。"私はRF = 1、読み取り整合性レベル= 1と6ノードリング/クラスタ内のノードの1つがダウンしているとき。この例外を除いて私のすべての読み込みに失敗しています。何か案が?理想的には、ダウンしているノードのデータを探している読み取りだけが失敗し、他のすべての読み取りが成功するはずです。Cassandraの利用状況

+0

cqlshを使用して同じ問題が発生しましたか?ヘクターはあまりにも巧みで、独自のアベイラビリティ検出を試みようとしているかもしれません。 – jbellis

+0

はい。私もCQLSHを試しました。同じ問題です –

答えて

4

があるかもしれませんいくつかの可能性:

    あなたはアップ
  • あなたのクラスタであることを複数のノードを必要とする複数行の問合せ(get_range、get_indexed_slices、multiget、またはCQL相当)を実行している
  • 不均衡であり、ダウンノードはリングの大部分を所有している。複数のdc構成が悪いと、同様のものが生成される可能性があります。
  • クラスタは良好な状態ではなく、一部のノードでは他のノードが表示されませんでした。クラスタ内の各ノードに対してnodetoolリングが実行されていることを確認してください。

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

3

私は複製設定を誤って設定したときに似たようなことをしました。具体的には、複製戦略という名前の間違ったデータセンターがありました。 DCが何であるかを再確認します(NetworkTopologyStrategyを使用していると仮定します)。

あなたはすでにノードの一つ上のシェルで、あなたのDCの名前がわからない場合に実行:あなたは私たちが2個の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 

、カサンドラとSolrには(これはDSEクラスタです) 。カサンドラ・CLIで

use Keyspace1; 
describe; 

CLIは、戦略のオプションを表示します:

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

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

update keyspace Keyspace1 with strategy_options = {Cassandra:3,Solr:2}; 
+0

私の場合、生産環境(2つのデータセンターを持つ)からQA環境(1つのデータセンターを持つ)にコピーされたcassandraスキーマがありました。 1つのデータセンターを示すようにスキーマを修正した後、問題は解決されました。 – zafar142003

関連する問題