./kafka-topics.sh --zookeeper 192.168.100.85:2181 --alter --topic bmc-events-topic-dev --partitions 6
WARNING: If partitions are increased for a topic that has a key, the partition logic or ordering of the messages will be affected
Error while executing topic command : The number of partitions for a topic can only be increased. Topic bmc-events-topic-dev currently has 256 partitions, 6 would not be an increase.
[2018-04-09 04:42:18,635] ERROR org.apache.kafka.common.errors.InvalidPartitionsException: The number of partitions for a topic can only be increased. Topic bmc-events-topic-dev currently has 256 partitions, 6 would not be an increase.
(kafka.admin.TopicCommand$)
测试代码如上所示,报错The number of partitions for a topic can only be increased.
。如果一定要减少的话有什么成熟的解决方案么?
本人想出的方案: 新建一个topic,拷贝,删除原topic。有更好的方案么?
只能增加,不能减少。没有更好的方案了。
那么有个问题?partition个数设置多少比较合适,为Kafka的broker个数 1:1 配比么?新增节点的话,是否partition个数做相应的调整。
但是这样,缩小节点规模的话(broker减少),要保持相应的比例,partition个数没法缩小,确实是一个难题?
应该不是永远不能接收到消息,consumer group 不是10个当中选择6个依次消费么~
话说,这样说感觉partition多数不会进行缩小操作?
我之前看到JD的报道,不是说他们docker的集群 对于这个kafka节点个数是可以动态扩充的,那么集群的partition缩小应该就是迁移做的~
嗯,除非别的节点挂了,剩下4个才会拿到消费权。
JD这么搞,不太真实,迁移可是很耗资源的,怎么能随意迁移。
我用了这么久,也只迁移过2次。
你的答案