微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Clickhouse复印机,使不同群集上的两个表永远保持同步

如何解决Clickhouse复印机,使不同群集上的两个表永远保持同步

我们有一个用例,可将我们的数据复制到客户端CH集群中。我们需要包括历史数据和增量数据(每5 -6分钟一次)。 我们可以使用Clickhouse-copier / clickhouse-backup吗?(使副本永远运行)

每5分钟的记录数将在200-500之间。我们希望避免执行select ...插入操作,因为这将需要更多的开发工作和另一个外部过程来监视。

从我所看到的看,Clickhouse复印机是一种一次性复印操作工具吗? 这是正确的吗?

解决方法

不确定使用clickhouse-copier是正确的方法,因为它不是为复制数据而设计的,而是一次复印机。

您当然可以创建一个批处理文件,该文件将重复调用 clickhouse-copier ,并且在每次调用之前都要在其配置文件中修改

可以使用相同的方法 clickhouse-client

两个看上去都很尴尬。


我将依靠CH replication来委托CH进行数据复制。它需要创建两个具有相同架构和 zoo_path 的表,并共享相同的Zookeper:

/* source-cluster table */
CREATE TABLE IF NOT EXISTS source_db.source_table
(
  ..
)
ENGINE = ReplicatedMergeTree('/clickhouse/replicated/tables/source_db/source_table','replica_1')
ORDER BY ..;

/* destination-cluster table */
CREATE TABLE IF NOT EXISTS destination_db.destination_table
(
  ..
)
ENGINE = ReplicatedMergeTree('/clickhouse/replicated/tables/source_db/source_table','replica_2')
ORDER BY ..;

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。