在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掛了,不能刪數據。
數據刪除時須要集羣全部節點都在線,若是有節點掛了,須要從集羣中移除,不然會報錯。