clickhouseclickhouse There is no DistributedDDL configuration in server config

Posted 九师兄

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了clickhouseclickhouse There is no DistributedDDL configuration in server config相关的知识,希望对你有一定的参考价值。

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条

以上是关于clickhouseclickhouse There is no DistributedDDL configuration in server config的主要内容,如果未能解决你的问题,请参考以下文章

ClickHouseclickhouse稀疏索引

ClickHouseclickhouse稀疏索引

clickhouseClickHouse表引擎 MergeTree 建表方式与分区规则

clickhouseclickhouse 主从配置 从节点无数据

ClickhouseClickHouse 内部架构介绍

ClickhouseClickhouse 未知原因 导致 连接过多