更新时间:2024-11-29 GMT+08:00

配置ClickHouse副本间数据强一致

操作场景

ClickHouse支持多副本能力,但进行本地表写入的时候,当前节点的数据会立即更新成功,但其他副本之间的数据同步是异步的。

本章节主要介绍如何配置ClickHouse保证副本间数据强一致。

参数配置

配置ClickHouse副本间数据强一致优先级别:单条语句设置 > 会话级别设置 > 全局默认设置。

副本间强一致必须要结合原子性一起使用,否则在插入过程中出现异常,无法回退成功。

登录FusionInsight Manager页面,选择“集群 > 服务 > ClickHouse > 配置 > 全部配置 > ClickHouseServer(角色) > 可靠性”,修改以下参数:

参数

参数说明

profiles.default.insert_quorum

默认值为0,指的不开启副本间强一致, 取值范围:0-9或者auto或者all。

  • 当设置为数字时候指的是ClickHouse在insert_quorum_timeout期间将数据正确写入副本的insert_quorum时,INSERT才能成功。
  • auto指的是正确写入副本超过副本数的一半,INSERT才成功。
  • all指的是正确写入副本等于副本数,INSERT才成功。

profiles.default.insert_quorum_timeout

副本间强一致写入超时时间,默认值为600000ms,取值范围:大于0。