Cassandra刪數據時報一致性級別錯誤( Cannot achieve consistency level ALL)

在cassandra集羣刪除數據時(TRUNCATE keyspace.table),若是碰到報錯: Cannot achieve consistency level ALL. 進行以下檢查:java

1. 進入cqlsh,檢查如今的consistencyspa

cqlsh> CONSISTENCY;code

 

2. 若是當前的consistency不是ALL,設置爲ALL,orm

cqlsh> CONSISTENCY ALL;table

 

3. 執行數據刪除命令form

cqlsh> TRUNCATE keyspace.table;集羣

 

4. 恢復原來的CONSISTENCY(假設原來爲ONE);數據

cqlsh> CONSISTENCY ONE;hosts

若是truncate的過程當中發生以下錯誤:tab

TruncateError: <ErrorMessage code=1003 [Error during truncate] message="Error during truncate: Cannot achieve consistency level ALL">

檢查cassandra的log(system.log)

INFO  [SharedPool-Worker-4] 2017-08-13 11:04:37,860  StorageProxy.java:2118 - Cannot perform truncate, some hosts are down

能夠看到是由於有host掛了,不能刪數據。

數據刪除時須要集羣全部節點都在線,若是有節點掛了,須要從集羣中移除,不然會報錯。

相關文章
相關標籤/搜索