2026年TBDS大数据平台 Hermes实时数据消费异常的排查和解决

TBDS大数据平台 Hermes实时数据消费异常的排查和解决原因分析 1 首先确认 kafka 消费是否正常 通过 kafka 自带命令确认消费组的特定 topic 的消费情况 检查是否已经开始消费 KAFKA HOME bin kafka consumer groups sh bootstrap server broker ip 6667 command config config client sasl properties

大家好,我是讯享网,很高兴认识大家。这里提供最前沿的Ai技术和互联网信息。



原因分析

1、首先确认kafka消费是否正常,通过kafka自带命令确认消费组的特定topic的消费情况。检查是否已经开始消费:

\(KAFKA_HOME/bin/kafka-consumer-groups.sh --bootstrap-server \)broker_ip:6667 –command-config ./config/client_sasl.properties –new-consumer –describe –group hermes_group_1 |grep topic_name

备注:–group hermes_group_1:对应topic中的group名称,topic_name 为无法消费到数据的topic。

2、在排查了之后发现kafka消费没有问题,在另一个集群同时也在消费这个topic也没有问题,因此排除kafka消费本身的问题。

3、根据经验在排查了kafka的白名单之后,发现白名单没有问题。同时根据操作记录确认此四个节点是集群原来内部节点缩容出去的做过DataNode的下线 ,当时下线节点操作为: 先把节点停止hermes消费数据(在节点生成文件/data1/index/hermesstop,内容为1),然后等待30分钟; 把要缩容的节点提交hdfs decommission; hdfsdecommission完成后, 即可把节点停机下线(停止datanode和hermes worker的进程)。

因此检查/data1/index/hermesstop,发现新扩容的节点有此文件未删除。(执行forclean的时候发现那个文件自动删除了。扩容的时候没有检查)。

解决方案:

删除所有节点的/data1/index/hermesstop文件,重新观察Hermes消费情况。

问题描述:

在删除停止消费文件之后,节点仍然没有消费到实时数据,在查看集群整体实时数据消费的时候发现集群实时数据从7号已经全部停止消费, index目录中没有7号之后的数据。消费组已经不在。

排查过程

1、尝试方案:删除停止消费文件后,单独灰度重启下扩容的4个hermes worker,先重启一个,确定消费了,再重启其他3个。

结果:重启之后消费没有恢复

2、研发建议topic和group名称不改 重新绑定。

http://{hermes_server}:{port}/config?kafkainfo={“topic”:“hermes_index_benchmark1”,“serverHost”:“{kafka_broker}:{port}”,“group”:“hermes_index_benchmark_group_1”}’

结果:消费组没有出现,事后结论:消费组是伴随的消费存在的,如果消费停止一定的时间,通过kafak的命令查询出来的消费组list就不会出现消费组。

3、利用kafka命令和Hermes java测试工具进行消费测试

/usr/hdp/2.2.0.0-2041/kafka/bin/kafka-console-consumer.sh –bootstrap-server 115.15.3.102:6668 –topic zys2 –from-beginning –consumer.config config/client_plain.properties –new-consumer

在hermes目录下执行:

java -Djava.security.auth.login.config=config/kafka_client_for_ranger_jaas.conf -classpath find libs/*| grep -v source | tr ' ' ':':conf HermesConsumeTest result_dc_cdr consumerjsga

此工具会通过HermesConsumeTest 工具类利用java工具去访问单个分区去查询数据。是Hermes查询的最小单位。

结论:均没有消费,

3、在排查Hermes的日志没有发现错误的情况下,排查kafka集群kafka.out的时候发现信息 :

原因分析

1、首先确认kafka消费是否正常,通过kafka自带命令确认消费组的特定topic的消费情况。检查是否已经开始消费:

\(KAFKA_HOME/bin/kafka-consumer-groups.sh --bootstrap-server \)broker_ip:6667 –command-config ./config/client_sasl.properties –new-consumer –describe –group hermes_group_1 |grep topic_name

备注:–group hermes_group_1:对应topic中的group名称,topic_name 为无法消费到数据的topic。

2、在排查了之后发现kafka消费没有问题,在另一个集群同时也在消费这个topic也没有问题,因此排除kafka消费本身的问题。

3、根据经验在排查了kafka的白名单之后,发现白名单没有问题。同时根据操作记录确认此四个节点是集群原来内部节点缩容出去的做过DataNode的下线 ,当时下线节点操作为: 先把节点停止hermes消费数据(在节点生成文件/data1/index/hermesstop,内容为1),然后等待30分钟; 把要缩容的节点提交hdfs decommission; hdfsdecommission完成后, 即可把节点停机下线(停止datanode和hermes worker的进程)。

因此检查/data1/index/hermesstop,发现新扩容的节点有此文件未删除。(执行forclean的时候发现那个文件自动删除了。扩容的时候没有检查)。

解决方案:

删除所有节点的/data1/index/hermesstop文件,重新观察Hermes消费情况。

问题描述:

在删除停止消费文件之后,节点仍然没有消费到实时数据,在查看集群整体实时数据消费的时候发现集群实时数据从7号已经全部停止消费, index目录中没有7号之后的数据。消费组已经不在。

排查过程

1、尝试方案:删除停止消费文件后,单独灰度重启下扩容的4个hermes worker,先重启一个,确定消费了,再重启其他3个。

结果:重启之后消费没有恢复

2、研发建议topic和group名称不改 重新绑定。

http://{hermes_server}:{port}/config?kafkainfo={“topic”:“hermes_index_benchmark1”,“serverHost”:“{kafka_broker}:{port}”,“group”:“hermes_index_benchmark_group_1”}’

结果:消费组没有出现,事后结论:消费组是伴随的消费存在的,如果消费停止一定的时间,通过kafak的命令查询出来的消费组list就不会出现消费组。

3、利用kafka命令和Hermes java测试工具进行消费测试

/usr/hdp/2.2.0.0-2041/kafka/bin/kafka-console-consumer.sh –bootstrap-server 115.15.3.102:6668 –topic zys2 –from-beginning –consumer.config config/client_plain.properties –new-consumer

在hermes目录下执行:

java -Djava.security.auth.login.config=config/kafka_client_for_ranger_jaas.conf -classpath find libs/*| grep -v source | tr ' ' ':':conf HermesConsumeTest result_dc_cdr consumerjsga

此工具会通过HermesConsumeTest 工具类利用java工具去访问单个分区去查询数据。是Hermes查询的最小单位。

结论:均没有消费,

3、在排查Hermes的日志没有发现错误的情况下,排查kafka集群kafka.out的时候发现信息 :

小讯
上一篇 2026-04-22 12:15
下一篇 2026-04-22 12:23

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/277493.html