首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Kafka sprint插件并没有分配所有分区。

Kafka sprint插件并没有分配所有分区。
EN

Stack Overflow用户
提问于 2018-08-03 13:22:13
回答 2查看 100关注 0票数 0

假设Kafka主题(我的主题)有8个分区,而我的侦听器组()由8到10个不同的进程在不同的机器上运行。任何侦听器都不会使用特定的分区(my-topic-2)。

这里是Kafa制片人(Jar-1)的代码

代码语言:javascript
复制
import org.apache.kafka.clients.producer.KafkaProducer;
import org.apache.kafka.clients.producer.ProducerRecord;

KafkaProducer producer ;
.....


producer.send(new ProducerRecord('my-topic', student_id % 8, null, payload));

这里是春季(Jar-2)中Kafa侦听器配置的代码

代码语言:javascript
复制
@EnableKafka
@Configuration
public class SpringBootKafka {

    @Bean
    public Map<String, Object> consumerConfigs() {
        Map<String, Object> props = new HashMap<>();

        String servers ;
        .....

        props.put("bootstrap.servers", servers);
        props.put("group.id", "my-topic-group");
        props.put("key.deserializer", StringDeserializer.class);
        props.put("value.deserializer", StringDeserializer.class);
        props.put("auto.offset.reset", "earliest");

        return props;
    }

    @Bean
    public ConsumerFactory<String, String> consumerFactory() {
        return new DefaultKafkaConsumerFactory<>(consumerConfigs());
    }

    @Bean
    public KafkaListenerContainerFactory<ConcurrentMessageListenerContainer<String, String>> kafkaListenerContainerFactory() {
        ConcurrentKafkaListenerContainerFactory<String, String> factory = new ConcurrentKafkaListenerContainerFactory<>();
        factory.setConsumerFactory(consumerFactory());
        return factory;
    }
}

卡夫卡听众(Jar-2)

代码语言:javascript
复制
@Component
public class EventsReceiver {
    @KafkaListener(topics = "my-topic")
    public void receive(ConsumerRecord<String, String> consumerRecord) {

        String message = consumerRecord.value();

    }
}

最初,Jar-2被部署在1台机器(码头)上,慢慢地,我们将吊舱的数量增加到10。不止一个人在听my-topic-partition-7.所以我在听众中错过了一些卡夫卡事件。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-08-05 08:01:14

我发现了这个问题,它运行在两个不同的数据中心,并且都指向同一个Kafka集群。分区-2被分配给第二个数据中心。

票数 0
EN

Stack Overflow用户

发布于 2018-08-03 16:46:59

查看日志;当实例出现时,您应该会看到这样的情况:

代码语言:javascript
复制
Instance 1

partitions assigned: [so51673658-2, so51673658-1, so51673658-4, so51673658-3, so51673658-6, so51673658-5, so51673658-8, so51673658-7, so51673658-9, so51673658-0]
partitions revoked: [so51673658-2, so51673658-1, so51673658-4, so51673658-3, so51673658-6, so51673658-5, so51673658-8, so51673658-7, so51673658-9, so51673658-0]
partitions assigned: [so51673658-2, so51673658-1, so51673658-4, so51673658-3, so51673658-0]
partitions revoked: [so51673658-2, so51673658-1, so51673658-4, so51673658-3, so51673658-0]
partitions assigned: [so51673658-4, so51673658-6, so51673658-5]

Instance 2

partitions assigned: [so51673658-6, so51673658-5, so51673658-8, so51673658-7, so51673658-9]
partitions revoked: [so51673658-6, so51673658-5, so51673658-8, so51673658-7, so51673658-9]
partitions assigned: [so51673658-8, so51673658-7, so51673658-9]

Instance 3

partitions assigned: [so51673658-2, so51673658-1, so51673658-3, so51673658-0]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51673658

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档