文档首页/ MapReduce服务 MRS/ 故障排除/ 使用ClickHouse/ ClickHouse消费Kafka数据异常
更新时间:2023-12-22 GMT+08:00

ClickHouse消费Kafka数据异常

问题现象

用户在ClickHouse集群创建Kafka引擎表test.user_log_kafka消费Kafka数据,查看Kafka监控发现凌晨开始出现消息堆积,数据一直没有被消费。

原因分析

Kafka出现消息堆积,说明ClickHouse消费数据时出现异常,需要查看ClickHouse的日志。

  1. 登录MRS集群,进入ClickHouse实例所在的节点,查看“/var/log/Bigdata/clickhouse”目录下的“clickhouse-server.log”日志文件,发现以下报错:

  2. 进入到其他ClickHouse节点也发现了同样的报错日志,由此可知Kafka消息堆积是因为ClickHouse解析Kafka数据时出现异常。

解决办法

使用以下命令修改表的“kafka_skip_broken_messages”属性:

# ALTER test.user_log MODIFY SETTINGS kafka_skip_broken_messages=10000
  • 10000可以根据数据中脏数据的比例进行调整。
  • kafka_skip_broken_messages:Kafka消息解析器对每个块的架构不兼容消息的容忍度,默认值:0。

    例如:kafka_skip_broken_messages = N,则引擎会跳过N条无法解析的Kafka消息。