开发者社区 > 大数据与机器学习 > 实时计算 Flink > 正文

spark streaming读取loghub数据报错LogHubClientWorkerException: consumer group is not agreed, AlreadyExistedConsumerGroup,是什么情况

com.aliyun.openservices.loghub.client.exceptions.LogHubClientWorkerException: consumer group is not agreed, AlreadyExistedConsumerGroup: {"consumeInOrder": false, "timeoutInMillSecond": 60}

展开
收起
游客mraidvfkv2dks 2019-05-29 15:02:22 6351 0
1 条回答
写回答
取消 提交回答
  • 阿里云 SLS 研发工程师

    LogHub消费组是一个客户端与服务端相配合的工作机制,在一些参数上需要两者保持一致,例如客户端超时时间、客户端是否按需消费shard等。。。

    当spark streaming作业启动后,如果服务端已经存在了同名消费组,作为loghub的客户端(使用工单到了消费组的client lib)会将消费组相关参数与服务端的消费组参数做对比。确保大家的协议一致。你看到的错误就是说,两者在部分参数上不同,客户端将退出。

    解决办法:

    1. 如果是新的消费起点(不依赖消费组在历史上消费位置断点),可以在控制台上删除该名字的消费组,然后重启spark streaming作业。

    https://help.aliyun.com/document_detail/43998.html?spm=a2c4g.11186623.6.1019.474e2760bf4fen#title-01t-y3r-by2

    1. 如果只是升级了spark作业,还希望从上次消费组的断点继续处理数据,那么你需要拿到客户端消费组参数,并使用Java SDK做UpdateConsumerGroup调用,将服务端的参数设置与客户端上的相同。之后再重启spark streaming作业。

    https://help.aliyun.com/document_detail/29068.html?spm=a2c4g.11186623.6.1156.70c02d4aBlOizO

    2020-03-15 11:13:57
    赞同 展开评论 打赏

实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。

相关电子书

更多
Hybrid Cloud and Apache Spark 立即下载
Scalable Deep Learning on Spark 立即下载
Comparison of Spark SQL with Hive 立即下载