|
|
1
5
你不需要。如果你从每个节点一个令牌增加到256个(默认值),每个节点都会将其范围划分为256个相邻的、大小相等的范围。这不会影响数据所在的位置。但这意味着,当您在新DC中的新节点中引导时,它将在整个过程中保持平衡。
困难在于,切换复制策略通常是不安全的,因为数据需要在集群中移动。如果您告诉NetworkToplogyStrategy(NTS)节点在不同的机架中,它将把数据放在不同的节点上。因此,在添加新节点之前,您应该先移动到NTS。 在您将旧集群升级到vnode(上面的步骤1)之后,这里有一种方法可以做到这一点: 第1a条。在属性文件中列出DC0中的所有现有节点。列出DC1中的新节点及其正确的机架。 1b之间。将复制策略更改为NTS,选项为DC0:3(或您当前的复制因子)和DC1:0。 然后,要添加新节点,请按照此处的流程进行操作: http://www.datastax.com/docs/1.2/operations/add_replace_nodes#adding-a-data-center-to-a-cluster 。请记住将令牌的数量设置为256,因为默认情况下为1。 在步骤5中,应将DC0的复制因子设置为0,即将复制选项更改为DC0:0、DC1:3。现在这些节点没有被使用,所以decommission不会流式传输任何数据,但你仍然应该这样做,而不是关闭它们的电源,以便将它们从环中移除。 请注意,一个风险是,以低一致性级别对旧节点进行的写入可能会丢失。为了防止这种情况,您可以在切换到新的DC后在CL.LOCAL_QUORUM上写作。仍然有一个小窗口,写操作可能会丢失(在步骤3和4之间)。如果这很重要,您可以在停用旧节点之前运行修复,以确保不会发生丢失或以高一致性级别写入。 |
|
|
2
-1
如果您正试图迁移到一个带有vnode的新集群,您不需要更改Partitioner吗。文件指出,在不同的分区之间迁移数据不是一个好主意。 |