amazon-ec2 - 如何从Cassandra群集中删除死节点?

标签 amazon-ec2 cassandra cluster-computing cassandra-0.7

  • 我在EC2上有12个节点的cassandra集群。
  • 由于某些故障,我们完全丢失了一个节点。我的意思是该机器不再存在。
  • 因此,我用与死节点不同的IP和相同的 token 创建了新的EC2实例,并且还对该节点上的数据进行了备份,因此它可以正常工作
  • 但是问题是死节点ip在描述集群中仍然显示为无法访问的节点。
  • 由于该节点(EC2实例)已不存在,因此我无法使用 nodetool停用 nodetool disablegossip

  • 我如何摆脱这个无法到达的节点

    最佳答案

    通常,在替换节点时,您要将新节点的 token 设置为(failure node's token) - 1并使其引导。从1.0版本开始,您现在可以在启动时为replace a dead node指定一个标志:“cassandra.replace_token =”。

    由于您已经使用相同的 token 添加了新节点,因此需要执行额外的步骤:

  • 使用(failure node's token) - 1将新节点的 token 移动到nodetool move
  • 从上一个节点
  • 中运行nodetool removetoken <failed node's token>
  • 在每个节点上运行nodetool cleanup

  • 这些基本上是pre 1.0 instructions,用于用其他 token 移动替换死节点。

    关于amazon-ec2 - 如何从Cassandra群集中删除死节点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8589938/

    相关文章:

    node.js - 服务器集群上的 npm cluster 包

    amazon-web-services - 为什么不能使用提供的示例将 SSH 地形转换为 EC2 实例?

    amazon-ec2 - 以非零退出状态 : 2 终止源后,打包程序失败

    wordpress - Amazon Web Services EC2 实例有时会变得非常慢

    amazon-web-services - 遇到不受支持的属性 EBS

    java - 在 Ant 上为 Django 设置 Cassandra 失败 : Unable to find a javac compiler;

    exception - 如何减少Apache Nutch中的异常访存状态的数量?

    java - 集群上 Spring session bean 中的静态变量

    java - Apache Cassandra启动问题: Could not find the main class: Files\Apache

    c - 执行 cpp-driver datastax 时出现协议(protocol)错误