20241006-ClickHouse查询分布式表数据总变? 数据同步错副本?

在这里插入图片描述

架构说明:

ck部署在3台服务器上,每台服务器上配置两个ck实例,端口分别为9100和9200,架构是3分片2副本架构。

问题现象1:

节点1,节点3查询分布式表,数据总变,节点2查询数据正常。
其中t1_all表插入了10条数据。
节点1执行多次查询,结果不稳定,总变,6、10、12 …每次查询都不一样。

select * from t1_all;

问题现象2:

节点1:9100实例 和 节点2:9200实例 互为副本;
节点2:9100实例 和 节点3:9200实例 互为副本;
节点3:9100实例 和 节点1:9200实例 互为副本;
当向节点1:9100实例写入时间时,发现节点2:9200实例可以正常同步实例,
但是节点3:9200实例居然也同步了数据,实际上不应该同步。

问题分析:

检查配置文件副本配置部分,并没有发现异常,节点1:9100实例的副本只有节点2:9200实例。

<ck_cjc_cluster>
  <shard>
     <internal_replication>true</internal_replication>
     <replica>
       <host>192.0.10.11</host>
       <port>9100</port>
       <user>default</user>
       <password>******</password>
     </replica>
     <replica>
       <host>192.0.10.12</host>
       <port>9200</port>
       <user>default</user>
       <password>******</password>
     </replica>
   </shard>
......

那么还有哪些参数会影响数据同步呢?
最终发现节点3:9200实例的参数配置有问题,原以为这个参数只起到默认标签的作用,没想到还有副本作用,正是因为和都影响副本行为,数据不一致时就可能会出现这种看上去奇怪的问题。

<macros>
  <shard>01</shard>
  <replica>cjc03-xx-x</replica>
</macros>

解决方案:

修改为

<macros>
  <shard>02</shard>
  <replica>cjc03-xx-x</replica>
</macros>

再次测试,恢复正常。
###chenjuchao 20241002###

欢迎关注我的公众号《IT小Chen

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值