创建 具有 3 个 分区 的 主题 :
$ kafka-topics.sh --topic fifth_topic --create --partitions 3 --replication-factor 1 --bootstrap-server=localhost:9092
中 的 每 一 个
将 数据 生成 到此 主题
$ kafka-console-producer.sh --bootstrap-server imeserver:9092 --topic fifth_topic
格式
由 来自 同一 本地 主机 的 同一 使用 者 组 中 的 三 个 使用 者 使用
$ kafka-console-consumer.sh --bootstrap-server imeserver:9092 --topic fifth_topic --group consumer_grp2 --from-beginning
$ kafka-console-consumer.sh --bootstrap-server imeserver:9092 --topic fifth_topic --group consumer_grp2 --from-beginning
$ kafka-console-consumer.sh --bootstrap-server imeserver:9092 --topic fifth_topic --group consumer_grp2 --from-beginning
格式
描述 消费 者 群体 :
[ime@IMESERVER ~]$ kafka-consumer-groups.sh --bootstrap-server localhost:9092 --describe --group 'consumer_grp2'
GROUP TOPIC PARTITION CURRENT-OFFSET LOG-END-OFFSET LAG CONSUMER-ID HOST CLIENT-ID
consumer_grp2 fifth_topic 2 0 0 0 console-consumer-b6abaa2e-bf84-4919-8606-183dda964c17 /127.0.0.1 console-consumer
consumer_grp2 fifth_topic 0 0 0 0 console-consumer-2077d1c1-5a79-4b02-93b5-fd7c22d584e4 /127.0.0.1 console-consumer
consumer_grp2 fifth_topic 1 40 40 0 console-consumer-8df7c698-315a-463c-b0dd-13fa6932011f /127.0.0.1 console-consumer
格式
正如 您 所 看到 的 , 所有 的 推送 都 只 被 推送 到 一 个 分区 , 而 没有 分发 到 任何 其他 分区 。
我 希望 写入 将 进入 多 个 分区 , 而 不 是 只 有 一 个 分区 。
1条答案
按热度按时间dzjeubhm1#
你的消费者正在做适当的事情;不能将它们分配到同一组中的重叠分区。
不清楚要生成什么数据,但由于没有使用
parse.keys
属性,因此键为空,因此生成器请求中的数据将在分区之间循环。(停止命令而不是一次输入多行),它可能“随机”选择分区2,但随机种子并不是真正随机的(主要是因为,就请求可以发送到的位置而言,所有分区都是相同的,所以并不需要真正随机),因此每次都以相同的分区结束。或者,Kafka分批发送数据,而不是一次只发送一个事件,可能整批数据都被分配到了同一个分区。