我目前正在运行一个存储4TB数据的12节点Cassandra集群,复制因子设置为3.对于应用程序更新的需求,我们需要更改键空间的配置,我们希望尽可能避免任何停机。
我在邮件列表上看到,最好的方法是:
- 在群集的一台服务器上杀死cassandra进程
- 再次启动它,等待提交日志写入磁盘,然后再次将其删除
- 在storage.xml文件中进行修改
- 根据我们所做的更改重命名或删除数据目录中的文件
- 启动cassandra
- 使用列表中的下一个服务器转到1
醇>
我的问题是:
- 我对这个过程了解得很清楚吗?
- 是否存在数据损坏的风险?
- 在此过程中,将在同一个cluser,相同的键空间中存在具有不同版本的storage.xml文件的服务器。这是一个问题吗?
- 如果我们不仅添加,重命名和删除ColumnFamilies,而且如果我们更改CompareWith参数/将现有列族转换为超级列,则与上述相同。或者我们需要更改名称吗?
感谢您的回答。这是我第一次这样做,而且我有点害怕。