spark streaming读取loghub数据报错LogHubClientWorkerException: consumer group is not agreed, AlreadyExistedConsumerGroup,是什么情况
LogHub消费组是一个客户端与服务端相配合的工作机制,在一些参数上需要两者保持一致,例如客户端超时时间、客户端是否按需消费shard等。。。
当spark streaming作业启动后,如果服务端已经存在了同名消费组,作为loghub的客户端(使用工单到了消费组的client lib)会将消费组相关参数与服务端的消费组参数做对比。确保大家的协议一致。你看到的错误就是说,两者在部分参数上不同,客户端将退出。
解决办法:
如果是新的消费起点(不依赖消费组在历史上消费位置断点),可以在控制台上删除该名字的消费组,然后重启spark streaming作业。
https://help.aliyun.com/document_detail/43998.html?spm=a2c4g.11186623.6.1019.474e2760bf4fen#title-01t-y3r-by2
如果只是升级了spark作业,还希望从上次消费组的断点继续处理数据,那么你需要拿到客户端消费组参数,并使用Java SDK做UpdateConsumerGroup调用,将服务端的参数设置与客户端上的相同。之后再重启spark streaming作业。
https://help.aliyun.com/document_detail/29068.html?spm=a2c4g.11186623.6.1156.70c02d4aBlOizO
赞0
踩0