Cassandra数据中心不同步-如何诊断和重建?

时间:2018-10-20 11:01:45

标签: cassandra

我有三个cassandra数据中心,其键空间如下所示:

CREATE KEYSPACE allotments WITH replication = {'class': 'NetworkTopologyStrategy', 'hk1': '3', 'hk2': '3', 'hk3': '3'}  AND durable_writes = false;

我最近安装了最新的群集HK2和HK3,并将auto_bootstrap设置为true(通过注释该行)。

然后我继续使用原始数据中心(HK1)作为源在新数据中心(HK2和HK3)中的所有节点上运行rebuild命令:

nodetool rebuild -- hk1

但是,我发现自己的问题是HK2似乎缺少数据,我无法弄清楚原因或解决该问题。

在HK1上(正确数据):

cqlsh> use allotments;
cqlsh:allotments> select count(*) from freesale_allotments;

 count
-------
 22035

(1 rows)

Warnings :
Aggregation query used without partition key

cqlsh:allotments> 

在HK2上(丢失数据):

cqlsh:allotments> use allotments;  
cqlsh:allotments> select count(*) from freesale_allotments;

 count
-------
 19142

(1 rows)

Warnings :
Aggregation query used without partition key

到目前为止已尝试的问题排查步骤:

我试图再次重建节点,重置本地数据。它会在2-3秒内返回:

nodetool rebuild -m reset -- hk1

我尝试在所有节点上的键空间上进行修复,此修复在大约1小时后成功完成,但计数保持不变。

nodetool repair allotments -pr

我曾尝试运行scrub命令来清除所有损坏的数据表,然后再次-保持不变。

nodetool scrub

有人可以帮我指出正确的方向,以了解它是如何发生的,以及我将如何解决它。

非常感谢

马丁

0 个答案:

没有答案