[英]Availability of Cassandra
我遇到了一個問題“me.prettyprint.hector.api.exceptions.HUnavailableException ::可能沒有足夠的副本來處理一致性級別。” 當我有RF = 1時,讀取一致性等級= 1並且6節點環/簇中的一個節點出現故障。 我的所有讀取都因此異常而失敗。 任何想法? 理想情況下,只有在正在關閉的節點中查找數據的讀取應該失敗並且所有其他讀取應該成功嗎?
可能有幾種可能性:
如果這些都不是原因,請仔細檢查您是否正確使用Hector和cqlsh指定了一致性級別。
當我錯誤配置我的復制設置時,我已經看到了類似的東西,特別是我有錯誤的數據中心名為om復制策略。 仔細檢查您的DC是什么(假設您正在使用NetworkTopologyStrategy)。
如果您還不知道您的DC名稱,則在其中一個節點上的shell中運行:
$ 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
你可以看到我們有兩個DC,Cassandra和Solr(這是一個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};
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.