【发布时间】:2016-07-20 09:55:26
【问题描述】:
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
【问题讨论】:
-
退役后为什么要做removenode?你应该只需要解压。此外,针对两个剩余节点运行 nodetool 状态的输出会很有帮助。
-
添加了上面的状态输出。主机 ID 匹配。做了一个removenode,因为退役后nodetool状态仍然显示退役节点
标签: cassandra cassandra-2.0 cql cql3