提供将数据从单个数据中心cassandra群集迁移到多个数据中心cassandra群集的建议配置。目前,我有以下配置的单数据中心群集环境:i)节点数:3 ii)复制因子:2 iii)策略:simplestrategy iv)端点\u告密者:simplesnitch
现在我计划在不同的位置再增加两个节点。因此,我考虑转移到多个数据中心集群,并给出以下证明。i) 节点数:5 ii)射频:dc1=2,dc2=2 iii)策略:网络拓扑策略iv)。endpoint\u snitch:propertyfilesnitch(我有cassandra.topoloy.properties文件)
迁移数据而不丢失任何数据的过程是什么?
请让我知道建议的步骤,遵循或任何指南,我可以参考。请让我知道如果进一步的信息是必需的。
2条答案
按热度按时间ubof19bj1#
我刚刚在highscalability.com上找到了这个关于迁移cassandra的优秀教程:cassandra迁移到ec2
虽然细节将在原文中找到,但主要步骤概述如下:
1. cassandra多dc支持
配置propertyfilesnitch
更新复制策略
更新客户端连接设置
2. 在ec2上设置cassandra
启动节点
停止ec2节点并进行清理
启动节点
将群集中的数据副本放在ec2上
3. 关闭旧的dc并进行清理
使种子节点退役
更新客户端设置
使旧数据中心退役
0s7z1bwu2#
完成所有节点的修复。
在所有节点上拍摄快照以获得一个后退点。
使不是纯cassandra工作负载的每个节点退役。每次停用节点时修复环。
使用networktopologystrategy和复制因子更新密钥空间以匹配原始rf
alter keyspace keyspace\u name with replication={'class':'networktopologystrategy','datacenter\u name':2};
重新启动后更改每个节点上的飞贼。
在不同的数据中心中添加节点。确保添加它们时cassandra.yaml中有auto\u bootstrap:false
跑
nodetool rebuild original_dc_name
在每个新节点上。