向 Clickhouse 集群添加新节点的正确方法是什么?



目前我们运行的是ch20.4.8.99版本。我们有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))

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

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

有一个新的DATABASE引擎——复制,可以减轻这种情况。使用ReplicatedDatabase,您只需要向集群中添加新节点。ReplicatedDatabase将自动创建表。海拔操作符(如果你使用K8s)也有同样的魔力。

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

相关内容

最新更新