将节点移动到其他计算机

时间:2014-03-16 09:42:03

标签: solr cassandra datastax-enterprise

我们有以下DSE群集设置:

DC Cassandra

  • Cassandra node 1

DC Solr

  • Solr node 1
  • Solr node 2
  • Solr node 3
  • Solr node 4

我们想用更强大的机器替换Solr节点1。我的印象是我们需要遵循replacing a dead node的程序,其中涉及:

  • 将新节点添加到群集
  • 允许群集自动重新平衡
  • 通过 nodetool removenode
  • 删除旧节点
  • 在每个剩余节点中运行 nodetool cleanup

然而,我的同事们将所有东西(用户文件,系统文件, Cassandra / Solr数据文件)从旧机器复制到新机器。这种方法会起作用吗?如果是,我们还需要做一些额外的步骤吗?如果没有,我们如何纠正这个? (即我们只是删除数据文件并将节点重新启动为空节点?否则会导致数据丢失?)

1 个答案:

答案 0 :(得分:0)

所以你的方法应该有用......这里有一些需要注意的事情

  • 确保关闭要更换的节点上的C *。
  • 无法在旧节点上意外启动C *(例如,移动jar文件,或者至少暂时将/etc/init.d/dse脚本移动到其他地方)
  • 将所有内容复制到新计算机
  • 关闭旧机器(如果可能,请断开网络连接)。
  • 确保新机器具有与旧机器相同的IP地址,并且对于第一次启动它不会启动C *(不是真正的要求,但更多的是在IP地址的情况下的预防措施)没有匹配,或者那个盒子还有其他问题)。
  • 仔细检查一切正常,重新启用C *并重启机器。根据您复制该机器的方式,我会更关注OS系统文件的稳定性。如果您刚刚复制了C *应用程序和数据文件,那么您应该没问题。
  • 确保您永远不要使用活动的C *启动旧计算机。

我还没试过这个,但是我不知道任何可以防止这种情况发生的事情(现在我说这个,我可能会被打扰......但是我问过一个我们的主要工程师:-)。

越多"标准"程序就是这样,我将为我们的文档提出建议:

更换正在运行的节点

用新节点替换节点,例如更新到更新的硬件/ proactiv 维护。

您必须准备并启动替换节点,将其集成到群集中, 然后删除旧节点。

程序

  1. 确认节点处于活动状态:

    a)如果不使用vnodes,则运行nodetool ring。

    b)如果使用vnodes,则运行nodetool状态。

  2. nodetool命令显示节点(UN)

  3. 的up状态
  4. 注意要替换的节点的主机ID;它用在最后一步。
  5. 按照http://www.datastax.com/docs/1.1/cluster_management#adding-capacity-to-an-existing-cluster
  6. 中的说明添加并启动替换节点
  7. 使用原始旧节点的主机ID,使用nodetool removenode命令从群集中删除旧节点。有关详细说明,请参阅http://www.datastax.com/documentation/cassandra/2.0/cassandra/operations/ops_remove_node_t.html
相关问题