当前位置: 首页 > 知识库问答 >
问题:

kafka如何添加额外的分区到现有的XX分区?

闾丘山
2023-03-14

这是如何创建新的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\u test

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

共有2个答案

元昊苍
2023-03-14

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

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

这个相对简短的答案很好地解释了再平衡。

柳均
2023-03-14

您可以运行以下命令:

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

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

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

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

 类似资料:
  • 问题内容: 我有一个带有2个分区的Kafka集群。我一直在寻找一种将分区数增加到3的方法。但是,我不想丢失该主题中的现有消息。我尝试停止Kafka,修改文件以将分区数增加到3,然后重新启动Kafka。但是,这似乎并没有改变任何东西。使用Kafka ,我仍然看到它仅使用2个分区。我正在使用的Kafka版本是0.8.2.2。在0.8.1版中,曾经有一个名为的脚本,我想可能可以解决问题。但是,我在0.8

  • 我必须更新历史数据。说到更新,我的意思是向S3上的现有分区添加新行,有时是新列。 当前分区按日期实现:。为了避免每个分区有太多对象,我执行以下操作来维护单个对象/分区: 存在这样一种情况,我必须添加具有以下列值的某些行: 这意味着此路径中的文件(S3对象):

  • 我在数据流中使用“keyby”。我要flink发现每个键的所有kafka分区。我有30个分区

  • 我对目标C和iOS有点新手,所以我的问题可能很愚蠢:)我在调试模式下检查了self.table数据,那里没有空项,并且返回正确的值。下面是UITableView数据源方法: 以下是我得到的: 在模拟器:http://take.ms/rm2DL 视图层次结构:http://take.ms/oALdi 这个空白区域正好有超过20个点的高度,所以我假设它应该是某种奇怪的标题。

  • 有什么方法实现这一点吗? 我尝试创建了一个全新的主题,对于这个主题,它似乎使用了3个分区,这与文件中的更改一致。然而,对于已有的话题,它似乎并不在意。

  • 本文向大家介绍Kafka 分区的目的?相关面试题,主要包含被问及Kafka 分区的目的?时的应答技巧和注意事项,需要的朋友参考一下 分区对于 Kafka 集群的好处是:实现负载均衡。分区对于消费者来说,可以提高并发度,提高效率。