在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挂了,不能删数据。
数据删除时须要集群全部节点都在线,若是有节点挂了,须要从集群中移除,不然会报错。