我目前正参与一个扩展现有Windows Cassandra集群的项目,因为我们计划迁移大量的历史数据。但是,我对继续使用Windows作为节点持怀疑态度。我在Windows上对Cassandra做了一些研究,发现了一些自2.2.x以来官方支持Windows的发布说明。但从那以后我找不到任何Windows支持。
我想知道Cassandra目前在Windows上的状态是什么?
第二个问题;我决定切换到Linux,以下迁移路径是否有效? 1.设置一个新的Linux集群,并将我们的传入数据流放入现有的Windows和新的Linux集群中。 2.使用SSTableloader将现有SSTable流式传输到Linux集群。 3.将应用程序的端点切换到新的Linux群集。
即使我们有传入的实时数据与需要迁移的数据共享paritionkeys,这是否也能正常工作?时间戳或墓碑会导致问题吗?
从历史的角度来看,Cassandra在Windows上存在两个主要问题:
这些已在Cassandra 2.2中得到解决。
话虽这么说,在盛大的计划中,Cassandra在Windows上仍然是一件非常新鲜的事情。我不记得在Cassandra JIRA,dev或用户论坛中看到很多Windows特定的问题,但它的潜力仍然存在。因此,运行成功集群的最佳机会就是在Linux上运行,这是一个长期运行,经过验证的真正解决方案。
<personalBias>如果是我,我不想在Windows上支持Cassandra集群。</ personalBias>
我认为您的迁移路径将起作用。但更简单的方法是将Linux节点构建为新的逻辑数据中心,并将它们连接到现有集群。然后,一旦复制完成,您可以停用Windows节点/ DC,这样可以避免您必须执行第2步。