Clickhouse中执行ddl语句报错: executing longer than distributed_ddl_task_timeout (=180) seconds. There are 1 unfinished hosts (0 of them are currently active), they are going to execute the query in background. (TIMEOUT_EXCEEDED)
我在服务器上通过Docker 搭建了一个Clickhouse、Zookeeper服务,然后本地连接创建表时报超时问题,但我感觉大概率应该和网络不相关,因为由于端口等原因,我把docker compomse中clickhouse 9000 expose 端口改成了 8999, 我感觉是哪里配置改的有问题。但没有找到。
详细clickhouse 报错信息:
DB::Exception: Watching task /clickhouse/task_queue/ddl/query-0000000006 is executing longer than distributed_ddl_task_timeout (=180) seconds. There are 1 unfinished hosts (0 of them are currently active), they are going to execute the query in background. (TIMEOUT_EXCEEDED)
void* std::__thread_proxy[abi:v15000]<std::tuple<std::unique_ptr<std::__thread_struct, std::default_delete<std::__thread_struct>>, void ThreadPoolImpl<std::thread>::scheduleImpl<void>(std::function<void ()>, Priority, std::optional<unsigned long
, bool)::'lambda0'()>>(void*) @ 0x000000000c7b94f8 in /usr/bin/clickhouse
zookeeper /clickhouse/task_queue/ddl/query-0000000006 节点信息:
version: 5
query: CREATE TABLE default.events_local UUID \'23da2be5-24cd-4ff0-a185-b0c361864946\' ON CLUSTER posthog (event_date
Date, event_type
Int32, article_id
Int32, title
String) ENGINE = ReplicatedMergeTree(\'/clickhouse/repl-3s3r/posthog/tables/0/default/events_local\', \'chi-repl-3s3r-posthog-0-1\') PARTITION BY toYYYYMM(event_date) ORDER BY (event_type, article_id)
hosts: ['xxxx:8999']
initiator: fe1f4b48cb63:8999
settings: load_balancing = 'random', distributed_ddl_task_timeout = 5, stream_poll_timeout_ms = 50, max_memory_usage = 10000000000, allow_nondeterministic_mutations = true
tracing: 00000000-0000-0000-0000-000000000000
能看到 hosts 和 initiator 这里端口映射的都是对的, hosts里ip是 服务器主机的ip地址。
initiator 里是clickhouse container 的id
docker compose 配置:
clickhouse:
extends:
file: docker-compose.base.yml
service: clickhouse
ports:
- '8123:8123'
- '8999:8999' # 这里做了端口修改
- '9440:9440'
- '9009:9009'
volumes:
- ./posthog/idl:/idl
- ./docker/clickhouse/docker-entrypoint-initdb.d:/docker-entrypoint-initdb.d
- ./docker/clickhouse/config.xml:/etc/clickhouse-server/config.xml
- ./docker/clickhouse/users-dev.xml:/etc/clickhouse-server/users.xml
extra_hosts:
- 'host.docker.internal:host-gateway'
depends_on:
- kafka
- zookeeper
正常的select 都是可以的, 唯独建表会超时。
根据您提供的信息,这个错误是由于分布式DDL任务(如创建表)在ClickHouse集群中执行时超过了配置的distributed_ddl_task_timeout
时间限制。默认情况下,这个时间限制是180秒(3分钟),但根据您的ZooKeeper节点信息,您设置了distributed_ddl_task_timeout = 5
(秒),这实际上是一个相当短的时间,对于许多DDL操作来说可能不够。
这里有几个可能的解决方案:
distributed_ddl_task_timeout
的值:config.xml
配置文件中,找到distributed_ddl_task_timeout
设置,并增加其值。考虑到您当前设置为5秒,可能需要将其增加到一个更合理的值,比如180秒或更多,这取决于您预期的DDL操作执行时间。ON CLUSTER
子句:ON CLUSTER
子句,请确保指定的集群配置正确,并且所有节点都可以相互通信。我有两个NetCDF文件,每个文件都有不同的年份,我想将它们连接起来。它们似乎有相同的结构,时间是无限的维度,除了一个文件的经度是0:360,另一个文件的经度是-180:180。 这个问题解决了如何使用 R 中的栅格包来处理这个问题,但我想使用 nco。 我已经找到了转换的说明(提供如下)-180:180- 关于我的NetCDF文件的详细信息: 这是我在手册中找到的将-180:180转换为0:36
概述 180智能编码电机是mbuild平台下入门级编码电机。主要搭配NovaPi主控作为makeX Challenge 赛项的底盘驱动电机。 技术规格 减速比:39.43 额定电压: 12V 空载电流:350mA 通讯端口及协议:串口通信 空载转速:580±10%RPM 功能特性 全金属齿轮组,坚固耐用 内置编码器,能够精确控制机器人运动 自带安装孔,无需电机支架既可稳固连接在makeblock金
概述 180光电编码电机采用光编码器,可以高精度控制。它可以灵活地和各种其他零件组合使用,机身三面各有两个M4螺纹孔可以方便和 makeblock 平台机械件进行连接固定。同时,由于使用定制材料,使得此款电机运行时噪音小,并可以长时间大扭矩输出。此款电机支持多个电机驱动和主控板,如 Orion、MegaPi、MegaPi Pro、Me Auriga 主控板。 技术规格 减速比:39.6 额定电压:
通过阅读HSL / HSV色彩理论,我得到的印象是色调分量是一个周期性属性,每360度重复一次,可以独立于饱和度和亮度/值而改变。如果我错了,请纠正我,但这些陈述在逻辑上遵循前面的定义: < li >将色调旋转360度会产生相同的颜色 < li >将色调旋转180度两次会产生原始颜色 < li >将色调旋转180度,然后旋转-180度,产生原始颜色 但是,只有选项 1 是正确的。将色调旋转 4 倍
问题内容: 是否有一个Java库,用于以90度为增量旋转JPEG文件,而不会导致图像质量下降? 问题答案: 我发现了这一点:http : //mediachest.sourceforge.net/mediautil/ API:http : //mediachest.sourceforge.net/mediautil/javadocs/mediautil/image/jpeg/LLJTran.htm
问题内容: 更新: 只是在更明显的地方提到它。当我将IN更改为=时,查询执行时间从180缩短为0.00008秒。速度差可笑。 此SQL查询需要180秒才能完成!那怎么可能?有没有一种方法可以优化它更快? 每个表中只有大约5000行,因此它应该不会太慢。 问题答案: (发布我的评论作为答案,显然确实有所作为!) 如果将更改为, 有什么区别? 如果有人想进一步调查,我刚刚进行了测试,发现它很容易复制。