Python 未将分区分配给Kafka使用者实例

Python 未将分区分配给Kafka使用者实例,python,apache-kafka,kafka-consumer-api,kafka-python,Python,Apache Kafka,Kafka Consumer Api,Kafka Python,当我使用单个实例启动consumer时,它会显示在consumer组中,但不会使用来自主题的数据。之后,如果我启动另一个消费者,我的第一个消费者开始使用数据,但最新的消费者实例没有分配任何分区给它 下面是第一个消费者实例启动时的信息日志 信息:kafka.client:从[(u'kafka-broker1.ap-south-1.staging.internal',9092,0]引导集群元数据 信息:康涅狄格州卡夫卡:连接到172.31.1.66:9092 信息:kafka。客户端:引导成功:找到

当我使用单个实例启动consumer时,它会显示在consumer组中,但不会使用来自主题的数据。之后,如果我启动另一个消费者,我的第一个消费者开始使用数据,但最新的消费者实例没有分配任何分区给它

下面是第一个消费者实例启动时的信息日志

信息:kafka.client:从[(u'kafka-broker1.ap-south-1.staging.internal',9092,0]引导集群元数据 信息:康涅狄格州卡夫卡:连接到172.31.1.66:9092 信息:kafka。客户端:引导成功:找到3个代理和19个主题。 信息:kafka.conn::正在关闭连接。 信息:康涅狄格州卡夫卡:连接到172.31.1.148:9092 信息:kafka.conn:代理版本标识为0.11.0 INFO:kafka.conn:Set configuration api_version=(0,11,0)以跳过启动时的自动检查_版本请求 信息:kafka.consumer.subscription\u状态:订阅模式:/events/ 信息:康涅狄格州卡夫卡:连接到172.31.1.70:9092 信息:kafka.cluster:datadog的组协调器是BrokerMetadata(nodeId=1,host=u'kafka-broker1.ap-south-1.staging.internal',port=9092,rack=None) 信息:kafka。协调器:发现组datadog的协调器1 信息:康涅狄格州卡夫卡:连接到172.31.1.66:9092 信息:kafka.coordinator.consumer:正在撤消以前为组datadog分配的分区集([]) 信息:卡夫卡。协调员:(重新)加入集团数据狗 信息:kafka.consumer.subscription_state:将订阅的主题更新到:[u'events'] 信息:卡夫卡。协调员:加入了“数据狗”(843代)小组,成员id为kafka-python-1.3.5-e3c25fb3-39ea-4550-845f-9b663355b4f5 信息:卡夫卡。协调员:已成功加入第843代datadog组 信息:kafka.consumer.subscription\u状态:更新的分区分配:[] 信息:kafka.coordinator.consumer:为组datadog设置新分配的分区集([])

当我启动第二个实例时,第一个实例分配了分区,第二个实例分配了0个分区,并且在启动第二个实例之前具有与第一个实例相同的信息日志

下面是第二个实例启动后第一个实例的信息日志

信息:kafka.coordinator.consumer:为组datadog设置新分配的分区集([]) 警告:kafka.coordinator:组datadog的心跳失败,因为它正在重新平衡 警告:kafka.coordinator:心跳失败([Error 27]RebalanceInProgressError);重试 信息:kafka.coordinator.consumer:正在撤消以前为组datadog分配的分区集([]) 信息:卡夫卡。协调员:(重新)加入集团数据狗 信息:卡夫卡。协调员:跳过心跳:没有自动分配或等待重新平衡 信息:卡夫卡。协调员:加入了“数据狗”(843代)小组,成员为卡夫卡-python-1.3.5-ddb66185-c615-4f31-9729-9384131f24c9 信息:kafka.协调员:当选的组长--使用范围执行分区分配 信息:卡夫卡。协调员:已成功加入第843代datadog组 信息:kafka.consumer.subscription\u状态:更新的分区分配:[主题分区(主题=u'events',分区=0),主题分区(主题=u'events',分区=1),主题分区(主题=u'events',分区=2),主题分区(主题=u'events',分区=3),主题分区(主题=u'events',分区=4),主题分区(主题=u'events',分区=5),TopicPartition(topic=u'events',partition=6),TopicPartition(topic=u'events',partition=7),TopicPartition(topic=u'events',partition=8),TopicPartition(topic=u'events',partition=9)] 信息:kafka.coordinator.consumer:设置新分配的分区集([TopicPartition(主题=u'events',partition=6),TopicPartition(主题=u'events',partition=7),TopicPartition(主题=u'events',partition=8),TopicPartition(主题=u'events',partition=9),TopicPartition(主题=u'events',partition=0),TopicPartition(主题=u'events',=1),组数据狗的TopicPartition(topic=u'events',partition=2),TopicPartition(topic=u'events',partition=3),TopicPartition(topic=u'events',partition=4),TopicPartition(topic=u'events',partition=5)]

在所有情况下,我们始终有1个未分配分区的使用者实例,最后一个使用者实例始终分配了0个分区

**下面是相同**的屏幕截图


我们还怀疑卡夫卡的集群。当我们只有1个kafka节点分区分配给消费者实例时,重新平衡工作正常。但是进入多节点集群后,我们面临这个问题

您找到了根本原因了吗?