Clickhouse 分布式表删除分区
我创建了复制的合并树表,如下所示:Clickhouse 分布式表删除分区,clickhouse,Clickhouse,我创建了复制的合并树表,如下所示: 在集群dwh上创建表探测.a( 灌输UInt64, psn UInt64 )ENGINE=ReplicatedMergeTree('/clickhouse/tables/{shard}/probe/a','{replica}')按插入顺序(psn)划分的分区; 然后我创建了一个分布式表,如下所示: CREATE TABLE probe.a_分布在集群dwh上( 灌输UInt64, psn UInt64 )引擎=分布式(dwh、探针、a、rand()); 然
在集群dwh上创建表探测.a(
灌输UInt64,
psn UInt64
)ENGINE=ReplicatedMergeTree('/clickhouse/tables/{shard}/probe/a','{replica}')按插入顺序(psn)划分的分区;
然后我创建了一个分布式表,如下所示:
CREATE TABLE probe.a_分布在集群dwh上(
灌输UInt64,
psn UInt64
)引擎=分布式(dwh、探针、a、rand());
然后,我在每台服务器中添加了宏:
服务器1
1.
server1.com
服务器2
2.
服务器2.com
远程服务器:
server1.com
9000
违约
test12pwd
服务器2.com
9000
违约
test12pwd
我在删除分区时遇到两个问题:
对于不进行复制的数据分片,如何解决分布式表的此问题?您使用的是复制表。您必须用
true
标记碎片
符合事实的
server1.com
9000
违约
test12pwd
符合事实的
服务器2.com
9000
违约
test12pwd
如果我正确理解您的群集由2个碎片和2个副本组成-每个碎片的副本数应该为2个或更多是错误的。您需要添加两个额外的服务器,以便每台服务器存储两个碎片副本中的一个(碎片数为2),或者使用在一台服务器上存储两个副本(这不是推荐的方式)。查看详细信息-@vladimir,我只使用两个碎片。没有复制。目前不需要复制。我只是因为数据量大而需要分离数据。为什么表探测。定义为ReplicatedMergeTree而不是MergeTree?应该与现在相同,但使用MergeTree引擎。分布式表+相关群集配置保留不变。似乎这是问题所在,因为只添加了一个服务器内部\u复制。
<dwh>
<!-- shard 01 -->
<shard>
<internal_replication>true</internal_replication>
<replica>
<host>server1.com</host>
<port>9000</port>
<user>default</user>
<password>test12pwd</password>
</replica>
</shard>
<!-- shard 02 -->
<shard>
<internal_replication>true</internal_replication>
<replica>
<host>server2.com</host>
<port>9000</port>
<user>default</user>
<password>test12pwd</password>
</replica>
</shard>
</dwh>