我在dc-1中有一个cassandra集群,现在我已经将集群扩展到dc-2并扩展了所有键空间,然后运行 nodetool rebuild dc-1 在dc-2的所有节点上。现在有没有办法验证dc-1的所有数据是否都复制到dc-2?我使用的是3.11.x版本的cassandra
nodetool rebuild dc-1
hof1towb1#
如果您的应用程序不断地将数据写入cassandra数据库,那么很难做到这一点,因为两个数据中心的数据总是会有细微的差异,比如飞行中的数据等等。从理论上讲,您可以使用spark,通过自定义选项指向特定的数据中心,并使用一个查询将数据加载到某个特定的时间戳(基于数据库本身中的数据,因此仅在具有此类字段的表上),然后比较两个Dataframe。但坦率地说,复制是cassandra的主要功能,如果您定期执行修复(建议使用reaper),那么您应该同步数据。
1条答案
按热度按时间hof1towb1#
如果您的应用程序不断地将数据写入cassandra数据库,那么很难做到这一点,因为两个数据中心的数据总是会有细微的差异,比如飞行中的数据等等。
从理论上讲,您可以使用spark,通过自定义选项指向特定的数据中心,并使用一个查询将数据加载到某个特定的时间戳(基于数据库本身中的数据,因此仅在具有此类字段的表上),然后比较两个Dataframe。
但坦率地说,复制是cassandra的主要功能,如果您定期执行修复(建议使用reaper),那么您应该同步数据。