我在Azure VM上运行Clickhouse服务器,并尝试使用ReplicatedMergeTree引擎创建一个表(遵循本指南:https://medium.com/@merticariug/distributedclickhouse -configuration-d412c211687c)。我在同一子网中的另一个Azure VM上运行zookeeper。
CREATE TABLE shard.test
(
id Int64,
event_time DateTime
)
Engine=ReplicatedMergeTree('/clickhouse/tables/shard1/test', 'replica_1')
PARTITION BY toYYYYMMDD(event_time)
ORDER BY id;
当我运行上面的命令来创建一个复制表时,我在clickhouse-client上得到了这个错误:
Code: 225. DB::Exception: Received from localhost:9000. DB::Exception: Can't create replicated table without ZooKeeper. (NO_ZOOKEEPER)
我取消了/etc/clickhouse-server/config.xml中zookeeper部分的注释,并在/etc/clickhouse-server/config.d/中为zookeeper添加了一个单独的xml文件
以下是/etc/clickhouse-server/config.d/zookeeper.xml的内容:
<clickhouse>
<zookeeper>
<node>
<host>public_IP</host>
<port>2181</port>
</node>
</zookeeper>
</clickhouse>
我错过了一些配置更改吗?
问题可能是网络限制,防火墙,…
这应该在CH服务器上工作
echo stat | nc public_IP 2181
在zookeeper.xml中将<clickhouse>
和</clickhouse>
分别替换为<yandex>
和</yandex>
。然后使用sudo service clickhouse-server restart
重新启动clickhouse-server。