Kafka修改topic partition分区数

释放双眼,带上耳机,听听看~!
🤖 由 ChatGPT 生成的文章摘要

命令行方式修改

创建Kafka实例Topic成功之后,您可以根据业务需要修改Topic的分区数。分区数只支持增加,不支持减少。

Kafka客户端版本为2.2以上时,支持通过kafka-topics.sh修改Topic分区数。

未开启SASL的Kafka实例,在“/{命令行工具所在目录}/kafka_{version}/bin/”目录下,通过以下命令修改Topic分区数。

#方法一
./kafka-topics.sh --bootstrap-server {broker_ip}:{port} --topic {topic_name} --alter --partitions {partition_num}

#方法二
kafka-topics.sh --zookeeper {zk_ip}:{port}  --topic {topic_name}  --alter --partitions {partition_num}

具体操作步骤如下

首先查看topic目前分区数

root@fa12e66b1540:/# kafka-topics.sh --zookeeper 192.168.31.70:2181/kafka --describe --topic abcdocker
Topic: abcdocker    TopicId: jY3Y5iKpSNqKUfp7JZCGQg PartitionCount: 2   ReplicationFactor: 1    Configs:
    Topic: abcdocker    Partition: 0    Leader: 0   Replicas: 0 Isr: 0
    Topic: abcdocker    Partition: 1    Leader: 1   Replicas: 1 Isr: 1

目前可以看到PartitionCount分区数为2,副本为1

接下来将PartitionCount调整为7

下面2种方式都可以进行调整,选择其中一种就行

kafka-topics.sh --zookeeper 192.168.31.70:2181/kafka --topic abcdocker --alter --partitions 7
kafka-topics.sh --alter --partitions 7  --topic abcdocker --bootstrap-server 192.168.31.70:9092

查看效果

root@fa12e66b1540:/# kafka-topics.sh --zookeeper 192.168.31.70:2181/kafka --describe --topic abcdocker
Topic: abcdocker    TopicId: jY3Y5iKpSNqKUfp7JZCGQg PartitionCount: 7   ReplicationFactor: 1    Configs:
    Topic: abcdocker    Partition: 0    Leader: 0   Replicas: 0 Isr: 0
    Topic: abcdocker    Partition: 1    Leader: 1   Replicas: 1 Isr: 1
    Topic: abcdocker    Partition: 2    Leader: 2   Replicas: 2 Isr: 2
    Topic: abcdocker    Partition: 3    Leader: 0   Replicas: 0 Isr: 0
    Topic: abcdocker    Partition: 4    Leader: 1   Replicas: 1 Isr: 1
    Topic: abcdocker    Partition: 5    Leader: 2   Replicas: 2 Isr: 2
    Topic: abcdocker    Partition: 6    Leader: 0   Replicas: 0 Isr: 0

root@fa12e66b1540:/# kafka-topics.sh --bootstrap-server 192.168.31.70:9092 --describe --topic abcdocker
Topic: abcdocker    TopicId: jY3Y5iKpSNqKUfp7JZCGQg PartitionCount: 7   ReplicationFactor: 1    Configs: segment.bytes=1073741824
    Topic: abcdocker    Partition: 0    Leader: 0   Replicas: 0 Isr: 0
    Topic: abcdocker    Partition: 1    Leader: 1   Replicas: 1 Isr: 1
    Topic: abcdocker    Partition: 2    Leader: 2   Replicas: 2 Isr: 2
    Topic: abcdocker    Partition: 3    Leader: 0   Replicas: 0 Isr: 0
    Topic: abcdocker    Partition: 4    Leader: 1   Replicas: 1 Isr: 1
    Topic: abcdocker    Partition: 5    Leader: 2   Replicas: 2 Isr: 2
    Topic: abcdocker    Partition: 6    Leader: 0   Replicas: 0 Isr: 0

已开启SASL的Kafka实例,通过以下步骤修改Topic分区数。

在Kafka客户端的/config目录中创建ssl-user-config.properties文件,参考3增加SSL证书配置。

/{命令行工具所在目录}/kafka_{version}/bin/目录下,通过以下命令修改Topic分区数。

./kafka-topics.sh --bootstrap-server {broker_ip}:{port} --topic {topic_name} --alter --partitions {partition_num} --command-config ./config/ssl-user-config.properties 

Kafka Manager修改分区数

登录Kafka Manager

在Kafka Manager中,单击“Topic > List”,进入Topic列表界面。
单击Topic名称,进入Topic详情界面。
单击“Add Partitions”,进入增加分区界面。

Kafka修改topic partition分区数

Kafka修改topic partition分区数

Kafka修改topic partition分区数

Kafka修改topic partition分区数

Kafka修改topic partition分区数

Kafka修改topic partition分区数

给TA打赏
共{{data.count}}人
人已打赏
Kafka

Docker compose 快速部署Kafka集群

2023-8-22 15:11:08

Kafka报错锦集

Kafka Uncaught error in kafka producer I/O thread: (org.apache.kafka.clients.producer.internals.Sender) java.lang.IllegalStateException: No entry found for connection 0

2023-8-29 14:45:20

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索