【问题标题】:Cassandra - can't remove the nodesCassandra - 无法删除节点
【发布时间】:2015-07-16 19:09:30
【问题描述】:

我不小心向测试集群添加了新节点。之后我删除了节点,但它们在连接到集群时仍然出现。

nodetool gossipinfo 没有显示它们。 nodetool 环也没有,但是当通过 datastax Java 客户端连接时,它们确实会出现:

LOG4J 2015-05-06 15:44:54.796 信息:[集群] - 添加了新的 Cassandra 主机 /198.81.xxx.32 LOG4J 2015-05-06 15:44:54.797 信息:[集群] - 添加了新的 Cassandra 主机 /198.81.xxx.31

如何从 gossip 缓存/事件中删除这些节点,它们来自哪里?

【问题讨论】:

  • 你用过nodetool decommission吗?这是删除节点的首选方法(特别是在生产中)。在不可能的情况下,Ravindra 和 Datageek 都给了你很好的答案。

标签: java cassandra datastax


【解决方案1】:

Ravindra 展示了如何使用节点工具“removenode”删除节点。这对我不起作用,因为节点工具“状态”中没有显示节点。在这种情况下对我有用的是通过 JMX 公开的方法。看: http://docs.datastax.com/en/cassandra/2.0/cassandra/operations/ops_gossip_purge.html

使用方法:Gossiper.unsafeAssassinateEndpoints(ip_address)

希望这会对某人有所帮助。

【讨论】:

    【解决方案2】:

    我是 Cassandra 的新手,我尝试过添加和删除节点。我遵循了这些步骤。 1. 停止要移除的节点上的 Casssandra 服务。 2. 复制要移除的节点的主机ID。 (只需运行 nodetool 状态并复制主机 ID) 3. 现在使用 removenode( nodetool -h removenode 删除节点 我尝试使用 datastax Java 客户端,但删除的节点在任何地方都没有出现。对我来说,这是一次成功的“Unbootstrap Operation”。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-12-31
      • 2019-01-21
      • 1970-01-01
      • 2015-02-11
      • 2018-04-19
      • 2020-12-11
      • 1970-01-01
      相关资源
      最近更新 更多