【问题标题】:Datastax Enterprise: Added Node serviing data before replication is completeDatastax Enterprise:在复制完成之前添加了节点服务数据
【发布时间】:2015-09-03 00:53:14
【问题描述】:

我们在 Datastax Enterprise 中有一个由 3 个 Cassandra 2.1 节点组成的集群;我们不得不更换出现硬件故障的节点之一。当我们添加第三个节点时,它在完成数据同步之前立即开始服务请求。

我的问题:在我们知道复制完成之前,有没有办法将节点标记为不可用?我们不能在我们的生产轮换中使用这台机器。我关闭了节点,但当它关闭时,它并没有回填数据。

请告诉我,谢谢,

鲍勃·格拉塞特

【问题讨论】:

  • 这不是一个真正的问题。节点可以随时充当协调者。节点在准备好之前不会提供数据。最近在 cassandra 邮件列表上对此进行了争论。见this thread

标签: datastax-enterprise cassandra-2.1


【解决方案1】:

尝试使用以下选项启动节点

-Djoin_ring=false

在您的节点上完成所需任务后,将节点添加到环中

nodetool join <options>

【讨论】:

  • 我们试过了,但节点还是自动加入了环。是否有一部分数据税文件更清楚地概述了该过程?
【解决方案2】:

节点可以充当协调者(确定环中哪些节点应该获取请求的节点),但在收到所有数据之前不会被视为“数据所有者”。您可以通过让驱动程序使用 TokenAwarePolicy 来避免节点成为协调器,这意味着驱动程序将选择一个拥有所请求数据的协调器(并且新节点在技术上还不是“数据所有者”)。

【讨论】:

    猜你喜欢
    • 2013-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-25
    • 2014-04-08
    • 1970-01-01
    • 2017-01-17
    • 2015-12-11
    相关资源
    最近更新 更多