Cassandra版本:dsc-cassandra-2.1.9
有3个节点,其中一个节点长时间停机。把它带回来并解除它。然后做了一个nodetool removenode。
当我尝试进行cql查询时,出现上述错误。
最初认为这可能是因为复制策略是SimpleStrategy。 ALTER KEYSPACE history WITH REPLICATION =
{'class' : 'NetworkTopologyStrategy', 'dc1' : 2};
并更改了endpoint_snitch: GossipingPropertyFileSnitch
而不是SimpleSnitch
在两个节点上执行了nodetool修复并重新启动了cassandra服务
但问题仍然存在。我该怎么办?
编辑1:机器A的Nodetool状态
-- Address Load Tokens Owns Host ID Rack
UN 192.168.99.xxx 19.8 GB 256 ? xxxxxxxx-xxxx-xxx-xxxx-xxxxx4ea RAC1
UN 192.168.99.xxx 18.79 GB 256 ? xxxxxxxx-xxxx-xxx-xxxx-xxxxxx15 RAC1
机器B的nodetool状态输出
-- Address Load Tokens Owns Host ID Rack
UN 192.168.99.xxx 19.8 GB 256 ? xxxxxxxx-xxxx-xxx-xxxx-xxxxxxxx4ea RAC1
UN 192.168.99.xxx 18.79 GB 256 ? xxxxxxxx-xxxx-xxx-xxxx-xxxxxxxxf15 RAC1
答案 0 :(得分:0)
奇怪的是,在列拥有下你没有%,只有?。过去,当我引导新的C *集群并使用SimpleStrategy和SimpleSnitch时,同样的问题也发生在我身上。我确实喜欢你一个ALTER KEYSPACE切换到NetworkTopology和GossipingPropertyFileSnitch,但它没有解决我的问题所以我从头开始重建集群(幸运的是我里面没有数据)
如果您在某处备份了数据,只需尝试从头开始重建2个节点。
否则,请考虑在一个节点上备份sstable文件并重建群集并重新放回sstables。小心,因为可能需要重命名某些文件名/文件夹