ClickHouse 外置(多副本)
适用版本:ONES v7.30.0及以上版本。
适用于 1 分片、2 或 3 副本的外部 ClickHouse。单实例请看 ClickHouse 外置(单副本)。
支持初装时指定外置,也支持初装完成后切换外置。初装后切换不迁移旧数据。 不支持多分片,也不支持阿里云托管 ClickHouse(社区兼容版和企业版)。
1. 通用要求
请数据库管理员确认:
- ONES 可以访问外部统一入口,已提供 HTTP/TCP 端口和有建库、建表、读写权限的账号。当前配置使用明文 HTTP/TCP。
- 支持
EmbeddedRocksDB、Join、Distributed和 ReplicatedMergeTree 家族引擎;可以执行集群建表、指定表 UUID,以及不带参数的 Replicated 引擎建表。 - 可以通过配置文件或云控制台管理逻辑集群(
remote_servers),并让配置在每个 ClickHouse 节点生效。
需要准备以下两套逻辑拓扑。两套拓扑都只有 1 个分片,包含相同的全部副本,不需要再购买一套数据库。
| 名称 | internal_replication | 用途 |
|---|---|---|
原有集群名,例如 default_cluster | true | 集群建表、复制表相关操作 |
新增 ones_external_fanout | false | 将本地表的写入发送给每个副本 |
表中的名称是示例,可以使用其他名称,后续 ONES 配置填写实际名称即可。
阿里云社区兼容版不支持用户自行配置 remote_servers,企业版不支持 ON CLUSTER 等所需能力,因此当前外置多副本方案不支持阿里云的 ClickHouse。