kafka partition 分配原则

Sirius 发表于: 2017-12-26   最后更新时间: 2017-12-26 19:49:47   7,248 游览

您好~我这边partition设置了30个分区,消费者启动了28个。但是查看消费情况只看到有9个partition在消费,另外的partition并没有消费。另外发现partition的文件大小都不同,关键是差别巨大,小一点就几M,大点的都到G级别了,相差了1000倍,kafka多partition的分配原则是什么?随机的吗?并没有做一个负载均衡?

发表于 2017-12-26
添加评论

另外下午提问好像不行 = = 但是查到了可以通过json文件--execute是可以实现的。PS:问答区是不是没有搜索功能 = = 浏览了半天没找到~

半兽人 -> Sirius 7年前

嗯,搜索功能还在完善。json的那种属于迁移了,不是扩展。

Sirius -> 半兽人 7年前

但是直接用alter的话是不支持replication-factor,会报错~所有就用了json~

半兽人 -> Sirius 7年前

我一直都用这个扩展的额。

Sirius -> 半兽人 7年前

1.0版本命令行显示replication-factor参数是只能在创建的时候用,应该是不行的,像partipartitions就说明了可以在创建或者更改的时候添加参数。

半兽人 -> Sirius 7年前

bin/kafka-topics.sh --zookeeper zk_host:port/chroot --alter --topic my_topic_name --partitions 40

Sirius -> 半兽人 7年前

额,我的意思是parititions是可以的,replication-factor是不行的。好像只能通过json。

半兽人 -> Sirius 7年前

是的。

这跟生产者有关系吧。

Sirius -> 半兽人 7年前

生产者没做什么限制,都是用的默认设置,不过是在线上新增了分区。哎?消费完之后commit会将offset设置为0吗?另外我用kafka-consumer-groups.sh查看消费组的情况CURRENT-OFFSET,LOG-END-OFFSET,以及LAG分别表示当前消费位置,当前生产位置以及消费数量吗?

半兽人 -> Sirius 7年前

新增加的分区落后是正常的。消费完成之后offset增加,不是设置为0。lag是表示还有多少没有消费的。

你的答案

查看kafka相关的其他问题或提一个您自己的问题