clickhouse遇到本地表不能删除,其它表也不能创建ddl被阻塞 情况。

在跑spark任务的时候出现报错:DB::Exception: Watching task /clickhouse/task_queue/ddl/query-0000023093 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 (version 21.6.5.37 (official build))

报错信息大致意思是:分布式表在进行ddl操作的时候,有一个节点出现超时了,没有创建成功。

当时的解决思路:
我的clickhouse集群共有3个节点,于是我在这三个节点创建本地表ddl,发现ck01,ck03可以创建成功,而ck02节点不能创建成功,卡着,然后报上面的错误。(创建情况未报错截图)

于是查看这个节点正在执行的进程:

SELECT query_id, query FROM system.processes;

或者执行

show processlist

 上面这两个命令都可以看到这个节点目前有哪些查询进程在执行着,或者被阻塞着。

我发现有大概5个进程一直卡着,没有进行下去。于是执行kill query,去杀掉阻塞进程:

-- Forcibly terminates all queries with the specified query_id:

KILL QUERY WHERE query_id='2-857d-4a57-9ee0-327da5d60a90';

执行上面命令后,发现阻塞进程kill 不掉。

-- Cancel and remove all mutations of the single table:
KILL MUTATION WHERE database = 'default' AND table = 'table'

执行这个也是kill 不掉阻塞进程。

 最后尝试重启ck,竟然解决了:

sudo systemctl restart clickhouse-server.service

ps:至于为啥出现节点ddl进程阻塞,我没有细查原因 ;不过我看了下zookeeper运行正常,和ck节点网络连接情况没有异常。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值