【发布时间】:2021-04-18 13:38:40
【问题描述】:
我在 Kubernetes 上的 2 个副本中托管 ClickHouse (v20.4.3.16),它在 3 个副本中使用 Zookeeper (v3.5.5)(也托管在同一个 Kubernetes 集群上)。
我需要使用另一个安装迁移 ClickHouse 使用的 Zookeeper,仍然是 3 个副本,但 v3.6.2。
我尝试做的是:
- 我停止了 ClickHouse 的所有实例以冻结 Zookeeper 节点。 使用 zk-shell,我将旧 ZK 集群的 /clickhouse 中的所有 znode 镜像到新的(虽然花了一些时间,但完成没有问题)
- 我重新启动了 ClickHouse 的所有实例,一次一个,现在已附加到 Zookeeper 的新实例。
- 两个 ClickHouse 实例都正确启动,没有任何错误,但在我尝试(或有人尝试)通过插入向表添加行时,ClickHouse 记录如下内容:
2021.01.13 13:03:36.454415 [ 135 ] {885576c1-832e-4ac6-82d8-45fbf33b7790} <Warning> default.check_in_availability: Tried to add obsolete part 202101_0_0_0 covered by 202101_0_1159_290 (state Committed)
并且永远不会插入新数据。
我已经阅读了有关数据复制和重复数据删除的所有信息,但我确信我在插入中添加了新数据,而且所有表都使用了时间字段(event_time 或 update_timestamp 等),但它根本没有不行。
将 ClickHouse 附加回旧的 Zookeeper,插入相同的数据不会出现问题。
在更改 Zookeeper 端点之前有什么需要做的吗?我错过了什么明显的东西吗?
【问题讨论】:
标签: apache-zookeeper clickhouse