【clickhouse】clickhouse There is no DistributedDDL configuration in server config

x33g5p2x  于2021-12-05 转载在 ClickHouse  
字(0.9k)|赞(0)|评价(0)|浏览(624)

1.概述

转载:clickhouse on cluster设置

在平常使用clickhouse中会有一些建表,删表等操作,但是对于整个集群来说每台服务器都需要建表。在ClickHouse集群中,我们可以在DDL语句上附加ON CLUSTER <cluster_name>的语法,使得该DDL语句执行一次即可在集群中所有实例上都执行,简单方便。但是需要一些配置才行,如果不配置在使用这个语法的时候会报错:

Code: 139, e.displayText() = DB::Exception: There is no DistributedDDL configuration in server config (version 21.3.4.25 (official build))

2.解决办法

在config.xml加上以下配置:

<distributed_ddl>
  <!-- Path in ZooKeeper to queue with DDL queries -->
  <path>/clickhouse/task_queue/ddl</path>
  <cleanup_delay_period>60</cleanup_delay_period>
  <task_max_lifetime>86400</task_max_lifetime>
  <max_tasks_in_queue>1000</max_tasks_in_queue>
</distributed_ddl>

解释一下;

  1. path:分布式DDL写入zk的路径,默认就是/clickhouse/task_queue/ddl
  2. cleanup_delay_period:检查DDL记录清理的间隔,单位为秒,默认60秒
  3. task_max_lifetime:分布式DDL记录可以保留的最大时长,单位为秒,默认保留7天
  4. max_tasks_in_queue:分布式DDL队列中可以保留的最大记录数,默认为1000条

相关文章

最新文章

更多