【问题标题】:What's is the correct way of adding new nodes to a Clickhouse cluster?将新节点添加到 Clickhouse 集群的正确方法是什么?
【发布时间】:2021-08-01 10:27:30
【问题描述】:

目前我们在 20.4.8.99 版本上运行 CH。 我们有 3 个节点填充了 ReplicatedReplacingMergeTree 表。

添加额外节点的正确步骤是什么?互联网上充斥着关于设置集群的信息,但没有太多关于扩展它的信息(在文档中也找不到任何信息)。

我尝试使用 DDL 从现有节点简单地创建新表,但只出现了很多错误。主要是关于具有表的现有数据目录的节点(好像表在某个时候被分离了)。

ATTACH 也会导致语法警告:

ATTACH TABLE table FROM 'path' (columns types) engine = ReplicatedReplacingMergeTree(...)

结果:

Syntax error: failed at position 34 ... Expected one of: storage definition, ENGINE (version 20.4.8.99 (official build))

【问题讨论】:

    标签: clickhouse


    【解决方案1】:

    您应该在每个新节点上执行相同的 CREATE TABLE。 CREATE TABLE -- 创建一个新的副本/分片。

    您可以从现有节点获取 ATTACH TABLE 并将 ATTACH 替换为 CREATE 并执行 CREATE TABLE 命令。

    有一个新的 DATABASE 引擎 -- Replicated 可以缓解这种情况。使用 ReplicatedDatabase,您只需将新节点添加到集群。 ReplicatedDatabase 将自动创建表。 Altinity Operator(如果您使用 K8s)也有同样的魔力。

    20.4 -- 不支持。尝试至少升级到 20.8(尽管它也几乎 EOL)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-07
      • 2016-08-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多