【问题标题】:clickhouse copier to keep two tables on different clusters in sync foreverclickhouse 复制器使不同集群上的两个表永远保持同步
【发布时间】:2020-12-19 12:03:13
【问题描述】:

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

每 5 分钟的记录数将在 200-500 范围内。我们希望避免执行 select ... insert,因为它需要更多的开发工作和另一个外部进程来监控。

据我所知,Clickhouse-copier 似乎是一次性复制操作工具? 这是正确的吗?

【问题讨论】:

    标签: clickhouse


    【解决方案1】:

    不确定使用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 ..;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-11
      • 1970-01-01
      • 2021-12-26
      • 1970-01-01
      相关资源
      最近更新 更多