【问题标题】:kafka + how to add additional partitions to the existing XX partitions?kafka + 如何在现有的XX分区中添加额外的分区?
【发布时间】:2020-07-03 06:04:10
【问题描述】:

这是如何使用名称创建新的 10 个主题分区的示例 - test_test

kafka-topics.sh --create --zookeeper zookeeper01:2181 --replication-factor 3 --partitions 10 --topic test_test

Created topic "test_test".


[root@kafka01 kafka-data]# \ls -ltr | grep  test_test
drwxr-xr-x 2 kafka hadoop  4096 Mar 22 16:53 test_test-8
drwxr-xr-x 2 kafka hadoop  4096 Mar 22 16:53 test_test-5
drwxr-xr-x 2 kafka hadoop  4096 Mar 22 16:53 test_test-2
drwxr-xr-x 2 kafka hadoop  4096 Mar 22 16:53 test_test-0
drwxr-xr-x 2 kafka hadoop  4096 Mar 22 16:53 test_test-7
drwxr-xr-x 2 kafka hadoop  4096 Mar 22 16:53 test_test-4
drwxr-xr-x 2 kafka hadoop  4096 Mar 22 16:53 test_test-1
drwxr-xr-x 2 kafka hadoop  4096 Mar 22 16:53 test_test-9
drwxr-xr-x 2 kafka hadoop  4096 Mar 22 16:53 test_test-6
drwxr-xr-x 2 kafka hadoop  4096 Mar 22 16:53 test_test-3

现在我们要为主题名称添加额外的 10 个分区 - test_test

如何在现有的 10 个分区中添加额外的分区?

【问题讨论】:

    标签: apache-kafka hdp


    【解决方案1】:

    你可以运行这个命令:

    ./bin/kafka-topics.sh --alter --bootstrap-server localhost:9092 --topic test_test --partitions 20
    

    顺便说一下,更改分区需要考虑两件事:

    • 不允许减少分区数
    • 如果您向主题添加更多分区,则无法保证基于键的消息排序

    注意:如果您的 Kafka 版本早于 2.2,则必须使用 --zookeeper 参数而不是 --bootstrap-server

    【讨论】:

    • 我运行您发送的 cli,我得到“警告:如果为具有键的主题增加分区,则分区逻辑或消息的顺序将受到影响”,我有点担心关于重新创建现有的前 10 个分区,您认为它们会损坏吗?
    • 为什么 - ./bin/kafka-topics.sh --alter --bootstrap-server localhost:9092 --topic test_test --partitions 10 ,没有添加新分区?
    • 应该是 --partitions 20 而不是 10
    • 是的,但我们担心的是前 10 个分区的重新创建
    • 您认为重新创建前 10 个安全吗?以及附加的 10 个 cli - /bin/kafka-topics.sh --alter --bootstrap-server localhost:9092 --topic test_test --partitions 20
    【解决方案2】:

    此外,您应该考虑到添加分区会触发重新平衡,这会使您的所有此主题的消费者在一段时间内不可用。

    rebalance 是重新分配分区给消费者的过程,它发生在添加新分区、添加新消费者或消费者离开时(可能由于异常、网络问题或发起退出)。
    为了保持读取一致性,在重新平衡期间,消费者组完全停止接收消息,直到发生新的分区分配。

    这个相对较短的@​​987654321@ 很好地解释了再平衡。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-11-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-06
      • 2019-08-13
      • 1970-01-01
      相关资源
      最近更新 更多