
138
|
第
9
章
忽略重复创建主题的错误
在自动化系统里调用这个脚本时,可以使用
--if-not-exists
参数,这样即
使主题已经存在,也不会抛出重复创建主题的错误。
9.1.2
增加分区
有时候,我们需要为主题增加分区数量。主题基于分区进行伸缩和复制,增加分区主要是
为了扩展主题容量或者降低单个分区的吞吐量。如果要在单个消费者群组内运行更多的消
费者,那么分区数量也需要相应增加,因为一个分区只能由群组里的一个消费者读取。
调整基于键的主题
从消费者角度来看,为基于键的主题添加分区是很困难的。因为如果改变了
分区的数量,键到分区之间的映射也会发生变化。所以,对于基于键的主题
来说,建议在一开始就设置好分区数量,避免以后对其进行调整。
忽略主题不存在的错误
在使用
--alter
命令修改主题时,如果指定了
--if-exists
参数,主题不存
在的错误就会被忽略。如果要修改的主题不存在,该命令并不会返回任何错
误。在主题不存在的时候本应该创建主题,但它却把错误隐藏起来,因此不
建议使用这个参数。
示例:将
my-topic
主题的分区数量增加到
16
。
# kafka-topics.sh --zookeeper zoo1.example.com:2181/kafka-cluster
--alter -- topic my-topic --partitions 16
WARNING: If partitions are increased for a topic that has a key,
the partition ...