gpt4 book ai didi

cassandra - 在 cassandra 3.11 生产集群上更改 Keyspace 以切换到 NetworkTopologyStrategy

转载 作者:行者123 更新时间:2023-12-05 03:05:26 27 4
gpt4 key购买 nike

我有一个包含 15 个节点的 cassandra 3.11 生产集群。每个节点总计约 500GB,复制因子为 3。不幸的是,集群设置了复制“SimpleStrategy”。我正在将其切换为“NetworkTopologyStrategy”。我希望了解在生产集群上这样做的注意事项。我应该期待什么?

最佳答案

在单个数据中心配置中从 mSimpleStrategy 切换到 NetworkTopologyStrategy 非常简单。我要警告的唯一警告是确保正确拼写数据中心名称。否则将导致操作失败。

确保您使用正确数据中心的一种方法是从 system.local 查询它。

cassdba@cqlsh> SELECT data_center FROM system.local;

data_center
-------------
west_dc

(1 rows)

然后调整您的 key 空间以复制到该 DC:

ALTER KEYSPACE stackoverflow WITH replication = {'class': 'NetworkTopologyStrategy',
'west_dc': '3'};

现在对于多个 数据中心,您需要确保正确指定新数据中心名称,并在完成后运行修复(在所有节点上)。这是因为 SimpleStrategy 将所有节点视为一个数据中心,而不管它们的实际 DC 定义如何。因此,您可以在一个 DC 中有 2 个副本,而在另一个 DC 中只有 1 个。

我已经多次即时更改键空间的 RF。通常,没有问题。但最好在完成后运行 nodetool describecluster,以确保所有节点都具有模式协议(protocol)。

专业提示:对于 future 的 google 员工,使用 SimpleStrategy 创建键空间没有任何好处。它所做的只是让您处于以后必须修复它的位置。事实上,我认为 SimpleStrategy 应该永远不要使用。

so when will the data movement commence? In my case since I have specific rack ids now, so I expect my replicas to switch nodes upon this alter keyspace action.

仅此一项不会导致 token 范围责任的任何调整。如果您的 RF 已经是 3,并且您的新 DC 定义也是如此,您将不需要运行修复,因此不会流式传输任何内容。

I have a 15 nodes cluster which is divided into 5 racks. So each rack has 3 nodes belonging to it. Since I previously have replication factor 3 and SimpleStrategy, more than 1 replica could have belonged to the same rack. Whereas NetworkStrategy guarantees that no two replicas will belong to the same rack. So shouldn't this cause data to move?

在这种情况下,如果您进行修复,您的二级或三级副本可能会找到一个新家。但您的初选将保持不变。

So are you saying that nothing changes until I run a repair?

正确。

关于cassandra - 在 cassandra 3.11 生产集群上更改 Keyspace 以切换到 NetworkTopologyStrategy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50992427/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com