Database 无法使用Zookeeper在ClickHouse中设置复制

Database 无法使用Zookeeper在ClickHouse中设置复制,database,replication,clickhouse,Database,Replication,Clickhouse,在过去的两天里,我一直在尝试在ClickHouse中设置复制,但无论我尝试什么配置,最终都会出现相同的行为 我能够在第一个节点上创建一个ReplicatedMergeTree表,并向其中插入数据。然后在第二个节点上创建一个副本。数据被复制,我可以看到它正在查询第二个节点。但当我向第二个节点插入数据时,奇怪的行为就开始了。未将数据复制到第一个节点,因此会出现以下错误: 2017.11.14 11:16:43.464565 [ 30 ] <Error> DB::StorageReplic

在过去的两天里,我一直在尝试在ClickHouse中设置复制,但无论我尝试什么配置,最终都会出现相同的行为

我能够在第一个节点上创建一个
ReplicatedMergeTree
表,并向其中插入数据。然后在第二个节点上创建一个副本。数据被复制,我可以看到它正在查询第二个节点。但当我向第二个节点插入数据时,奇怪的行为就开始了。未将数据复制到第一个节点,因此会出现以下错误:

2017.11.14 11:16:43.464565 [ 30 ] <Error> DB::StorageReplicatedMergeTree::queueTask()::<lambda(DB::StorageReplicatedMergeTree::LogEntryPtr&)>: Code: 33, e.displayText() = DB::Exception: Cannot read all data, e.what() = DB::Exception, 
ClickHouse Loook的zookeeper配置如下:

<?xml version="1.0"?>
<yandex>
    <zookeeper>
        <node>
            <host>10.201.1.4</host>
            <port>2181</port>
        </node>
        <node>
            <host>10.201.1.4</host>
            <port>12181</port>
        </node>
        <node>
            <host>10.201.1.4</host>
            <port>22181</port>
        </node>
    </zookeeper>
</yandex>
CREATE TABLE t_r (
  id UInt32,
  d Date
) ENGINE = ReplicatedMergeTree('/clickhouse/tables/t_r', '03', d, (d, id), 8192);
所有副本之间的唯一区别是副本id
'03'
,它是相应设置的

谢谢你的建议

复制合并树('/clickhouse/tables/t_r','03',d,(d,id),8192)

您应该为每个副本配置zookeeper唯一id。目前您使用的是'03',这是不正确的。 在本教程中,{replica}表示宏,它在每个节点上的clickhouse配置文件中配置

见-


p、 为了获得进一步的帮助,请提供所有节点的配置。

事实上,我自己解决了这个问题。多亏了@egorlitvineko,我再次检查了所有配置,我注意到对于所有三个节点,我都设置了相同的
服务器间http\u端口。如果所有节点都在不同的机器上运行,这不会有问题,但在我的测试场景中,它们在同一个操作系统上并排运行。

在创建
复制的
表时,我为每个ClickHouse服务器节点设置唯一的副本id。我对所有三个节点或多或少都使用默认配置,每个节点都有一个单独的数据、tmp、log、errlog目录。另外,“t_r”是zookeeper中节点的id,对于碎片来说应该是唯一的。如果在不同的节点上运行不同的语句,请提供所有。创建表的命令中唯一的区别是根据节点编号设置的副本id。因为我使用的是单碎片机制,所以在所有节点上都设置了相同的'tšr'id。@TomášRepík我很有兴趣帮助您调查这个问题,使用配置会更容易。我正试图复制它。谢谢你的评论也帮了我:)
CREATE TABLE t_r (
  id UInt32,
  d Date
) ENGINE = ReplicatedMergeTree('/clickhouse/tables/t_r', '03', d, (d, id), 8192);