kafka 修改分区_Kafka动态调整topic分区partition - russle的专栏 - CSDN博客

钮誉
2023-12-01

我们在使用kafka时,初期创建时所指定topic属性需要修改,如何动态修改kafka属性?kafka提供了命令行工具—kafka-topics.sh.

kafka-topics.sh工具介绍

kafka-topics.sh工具也是我们用来创建topic、查看topic详情的工具。

直接运行kafka-topics.sh可以产出它是用来创建、删除、查看以及更新topic

root@ubuntu:/opt/kafka_2.11-1.1.0/bin# ./kafka-topics.sh

Create, delete, describe, or change a topic.

Option Description

–alter Alter the number of partitions,

replica assignment, and/or

configuration for the topic.

–config A topic configuration override for

更新或者修改topic

注意:我的kafka版本是1.1.0, 并且我只有一个broker。

1, 首先我们创建一个topic,然后查看详情

root@ubuntu:/opt/kafka_2.11-1.1.0/bin# ./kafka-topics.sh --create --zookeeper 192.168.119.131:2181 --replication-factor 1 --partitions 4 --topic yqtopic1

Created topic “yqtopic1”.

root@ubuntu:/opt/kafka_2.11-1.1.0/bin#

root@ubuntu:/opt/kafka_2.11-1.1.0/bin# ./kafka-topics.sh --describe --zookeeper 192.168.119.131:2181 --topic yqtopic1

Topic:yqtopic1 PartitionCount:4 ReplicationFactor:1 Configs:

Topic: yqtopic1 Partition: 0 Leader: 0 Replicas: 0 Isr: 0

Topic: yqtopic1 Partition: 1 Leader: 0 Replicas: 0 Isr: 0

Topic: yqtopic1 Partition: 2 Leader: 0 Replicas: 0 Isr: 0

Topic: yqtopic1 Partition: 3 Leader: 0 Replicas: 0 Isr: 0

root@ubuntu:/opt/kafka_2.11-1.1.0/bin#

2,修改刚创建的topic,并查看修改的情况

将分区数有4修改为12

root@ubuntu:/opt/kafka_2.11-1.1.0/bin# ./kafka-topics.sh --alter --zookeeper 192.168.119.131:2181 --topic yqtopic1 --partitions 12

WARNING: If partitions are increased for a topic that has a key, the partition logic or ordering of the messages will be affected

Adding partitions succeeded!

root@ubuntu:/opt/kafka_2.11-1.1.0/bin#

root@ubuntu:/opt/kafka_2.11-1.1.0/bin# ./kafka-topics.sh --describe --zookeeper 192.168.119.131:2181 --topic yqtopic1 Topic:yqtopic1 PartitionCount:12 ReplicationFactor:1 Configs:

Topic: yqtopic1 Partition: 0 Leader: 0 Replicas: 0 Isr: 0

Topic: yqtopic1 Partition: 1 Leader: 0 Replicas: 0 Isr: 0

Topic: yqtopic1 Partition: 2 Leader: 0 Replicas: 0 Isr: 0

Topic: yqtopic1 Partition: 3 Leader: 0 Replicas: 0 Isr: 0

Topic: yqtopic1 Partition: 4 Leader: 0 Replicas: 0 Isr: 0

Topic: yqtopic1 Partition: 5 Leader: 0 Replicas: 0 Isr: 0

Topic: yqtopic1 Partition: 6 Leader: 0 Replicas: 0 Isr: 0

Topic: yqtopic1 Partition: 7 Leader: 0 Replicas: 0 Isr: 0

Topic: yqtopic1 Partition: 8 Leader: 0 Replicas: 0 Isr: 0

Topic: yqtopic1 Partition: 9 Leader: 0 Replicas: 0 Isr: 0

Topic: yqtopic1 Partition: 10 Leader: 0 Replicas: 0 Isr: 0

Topic: yqtopic1 Partition: 11 Leader: 0 Replicas: 0 Isr: 0

root@ubuntu:/opt/kafka_2.11-1.1.0/bin# ls -al /tmp/kafka-logs/

total 72

drwxr-xr-x 14 root root 4096 Oct 13 14:34 .

drwxrwxrwt 17 root root 4096 Oct 13 14:34 …

-rw-r–r-- 1 root root 0 Oct 13 14:10 cleaner-offset-checkpoint

-rw-r–r-- 1 root root 0 Oct 13 14:10 .lock

-rw-r–r-- 1 root root 4 Oct 13 14:33 log-start-offset-checkpoint

-rw-r–r-- 1 root root 54 Oct 13 14:10 meta.properties

-rw-r–r-- 1 root root 163 Oct 13 14:33 recovery-point-offset-checkpoint

-rw-r–r-- 1 root root 163 Oct 13 14:34 replication-offset-checkpoint

drwxr-xr-x 2 root root 4096 Oct 13 14:20 yqtopic1-0

drwxr-xr-x 2 root root 4096 Oct 13 14:20 yqtopic1-1

drwxr-xr-x 2 root root 4096 Oct 13 14:33 yqtopic1-10

drwxr-xr-x 2 root root 4096 Oct 13 14:33 yqtopic1-11

drwxr-xr-x 2 root root 4096 Oct 13 14:20 yqtopic1-2

drwxr-xr-x 2 root root 4096 Oct 13

14:20

yqtopic1-3

drwxr-xr-x 2 root root 4096 Oct 13

14:33

yqtopic1-4

drwxr-xr-x 2 root root 4096 Oct 13 14:33 yqtopic1-5

drwxr-xr-x 2 root root 4096 Oct 13 14:33 yqtopic1-6

drwxr-xr-x 2 root root 4096 Oct 13 14:33 yqtopic1-7

drwxr-xr-x 2 root root 4096 Oct 13 14:33 yqtopic1-8

drwxr-xr-x 2 root root 4096 Oct 13 14:33 yqtopic1-9

root@ubuntu:/opt/kafka_2.11-1.1.0/bin#

修改后的截图如下

无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。点这里可以跳转到教程。现在有这样一种场景,系统启动前,...

来自:

三也_攻城狮

关注iteblog_hadoop公众号并在评论区留言(认真写评论,增加上榜的机会)。留言点赞数排名前5名的粉丝,各免费赠送一本《大数据之路:阿里巴巴大数据实践》,明天18点就结束了,赶紧去参加吧。如下...

来自:

yangyutong0506的专栏

实际项目中我们可能在创建topic时没有设置好正确的replication-factor,导致kafka集群虽然是高可用的,但是该topic在有broker宕机时,可能发生无法使用的情况。topic一...

来自:

russle的专栏

Partitions只能增加(扩容) bin/kafka-topics.sh--alter--zookeeperlocalhost:42182--topicmyboys1 --partitions2 ...

来自:

桃花惜春风

若没有分区,一个topic对应的消息集在分布式集群服务组中,就会分布不均匀,即可能导致某台服务器A记录当前topic的消息集很多,若此topic的消息压力很大的情况下,服务器A就可能导致压力很大,吞吐...

来自:

朱智文的专栏

kafka为什么要在topic里加入分区的概念?如果没有分区,topic中的segment消息写满后,直接给订阅者不是也可以吗?Kafka可以将主题划分为多个分区(Partition),会根据分区规则...

来自:

不花的花和尚的博客

介绍一些与本问题相关的一些重要决策因素,并提供一些简单的计算公式越多的分区可以提供更高的的吞吐首先要明白,在kafka中,单个partition是kafka并行操作的最小单元,在producter和b...

来自:

yyqq188的博客

消费者如何分配分区就是指某个topic,其N个分区和消费该topic的若干消费者群组下M个消费者的关系。如下图所示,C0和C1两个消费者如何分配N个分区:核心接口:org.apache.kafka.c...

来自:

阿飞Javaer的专栏

引言按照Kafka默认的消费逻辑设定,一个分区只能被同一个消费组(ConsumerGroup)内的一个消费者消费。假设目前某消费组内只有一个消费者C0,订阅了一个topic,这个topic包含7个分区...

来自:

朱小厮的博客

通过kafka-topics.sh的alter选项,将topic1的partitions从1增加到6; ./kafka-topics.sh--alter --topictopic1 --zookeep...

来自:

杂记

1.查看topic的描述#./kafka-topics.sh--describe--zookeepersnn:2181--topictest-qt-0012.编写副本再赋值脚本创建文本文件”parti...

来自:

only_1的专栏

原文链接:https://www.cnblogs.com/AcAc-t/p/kafka_topic_consumer_group_command.html最近工作中遇到需要使用kafka的场景,测试消...

来自:

qq_40633152的博客

扩容:增加机器,例如原来三台服务器的kafka集群增加两台机器成为有五台机器的kafka集群,跟搭建差不多分区重新分配:在原来机器上的主题分区不会自动均衡到新的机器,需要使用分区重新分配工具来均衡均衡...

来自:

forrest_ou的博客

本文开发环境:windows10,c#,rdkafka开发库kafka主题的消费者对象数量是个重要指标,消费者数量与主题分区一一对应,如果消费者个数多了,多余的消费者对象不能发挥作用,浪费了系统资源;...

来自:

mzyqyyjpx的专栏

最近学习这个,看了一些文章,他们画的架构图各不一,给混淆了。eg: 我开始觉得是这样的, 但是也有下面这样画的 我就请问下这个分区问题,比如有三个节点,同一个主题有多个分区,那么他的分区是存在当前主题

下面是自己在使用过程中的总结。欢迎拍砖每个consumer只能消费指定的几个分区。那么消息如果没有发到监听的分区,那么那个消费者就不能获取到这次发送的消息。下面的例子一定要注意对分区和分组的理解,不然...

来自:

现役码农的博客

我们学习了如何编写简单的Kafka Producer程序。在那个例子中,在如果需要发送的topic不存在,Producer将会创建它。我们都知道(假设你知道),每个topic都是有分区数和复制因子的,...

来自:

LW_ICE

在kafka中,每个topic一般会有很多个Partitions。为了使我们能够及时的消费消息! 我们也可能启动多个Consumer去消费分区,而每个Consumer同样会启动一个或者是多个s...

来自:

weixin_41928342的博客

操作指令如下:将topicgome中的partition增加到10个bin/kafka-topics.sh--alter--zookeeper10.112.179.12:2181--partition...

来自:

灿哥哥的博客

 类似资料: