You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无法为ClickHouse RabbitMQ引擎表设置ACK,需消费后删除消息

ClickHouse RabbitMQ引擎自动ACK消息的说明

语法错误修正

你的建表SQL存在语法错误,最后一行的rabbitmq_format = 'JSONEachRow"末尾引号转义错误,修正后的语句如下:

create table MyTable(id Int64) 
engine = RabbitMQ 
SETTINGS  
    rabbitmq_host_port = 'localhost:5672', 
    rabbitmq_exchange_name ='exchange', 
    rabbitmq_exchange_type = 'direct', 
    rabbitmq_routing_key_list = 'serv', 
    rabbitmq_username = 'user', 
    rabbitmq_password = 'password', 
    rabbitmq_format = 'JSONEachRow'

自动ACK机制说明

ClickHouse的RabbitMQ引擎默认会在成功将消息写入表后自动发送ACK,触发RabbitMQ服务器删除该消息,不需要额外配置ACK相关参数。

消息未被删除的排查方向

如果出现消息消费后未被删除的情况,可从以下几点排查:

  • 消息格式或数据类型不匹配,导致写入ClickHouse失败,此时引擎会发送NACK,消息会保留在RabbitMQ队列中(可能会根据队列配置重新入队)
  • RabbitMQ队列的持久化、重试等配置影响了消息生命周期
  • ClickHouse服务在处理消息过程中出现异常中断

内容的提问来源于stack exchange,提问作者yelena vorobey

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 19:32:08