kafka 生产者、消费者、分区测试 作者:马育民 • 2021-12-04 20:09 • 阅读:10059 # 测试1 一个生产者,1个t,一个 p,1个消费者,改成2个消费者 ### 结论 只有一个消费者才能接收到消息 # 测试2 描述:一个生产者,1个topic,2个 partition 创建主题: ``` bin/kafka-topics.sh --bootstrap-server hadoop1:9092 --create --partitions 2 --topic userlog20 ``` 创建生产者: ``` bin/kafka-console-producer.sh --broker-list hadoop1:9092 --topic userlog26 ``` 创建消费者: ``` bin/kafka-console-consumer.sh --bootstrap-server hadoop1:9092 --topic userlog20 --consumer.config config/consumer.propeies ``` 查看消费者组的详情: ``` bin/kafka-topics.sh --bootstrap-server hadoop1:9092 --describe userlog20 ``` ### 结论1 一个生产者,根据分区策略,一次只能向 **一个 分区** 发送数据;同一组的多个消费者,只有 **一个消费者** 收到数据 ### 结论2 如果有3个消费者,那么只有2个消费者可以消费,因为有2个p,即: **同一消费者组的 消费者数量,大于 分区数,有消费者收不到数据** ### 结论3 原本有3个消费者,将能接收到数据的消费者停掉,那么另2个消费者可以接收到数据,因为有2个p,即:**原本接收不到的消费者,可以接收到数据** ### 结论4 原本有3个消费者,将2个消费者停掉,那么剩下的消费者,可以消费2个p的数据 原文出处:http://malaoshi.top/show_1IX2LZBUbW7C.html