1.扩容
在新的物理机上安装kafka程序,修改config/server.properties文件里的broker.id必须在集群中唯一,修改其他必要的配置项,其中zookeeper.connect配置项,写上kafka集群现在使用的zookeeper集群的地址。
然后启动kafka就可以加入到集群中了。
但是新加入的机器只能对新产生的topic起作用,对已有的topic在没有做处理前,是不会承担任何任务的,所以不会分担集群的压力。

2.重新分区Partition
假设有一个名为test的topic,只有1个partition,现在由于存储空间不足,需要重新分区。

3.修改topic的partitions

./bin/kafka-topics.sh --zookeeper 10.0.210.152:2181 --alter --topic test --partitions 6

现在topic有6个partition,但是数据还没有迁移过去

4.迁移数据
使用kafka提供的工具kafka-reassign-partitions.sh来迁移数据。迁移数据需要分三步做

第一步:生成迁移计划
先手动生成一个topic.json,内容如下。这里topic可以是一个列表,

{"topics": [
{"topic": "test"}
],
"version": 1
}

执行如下语句,

./bin/kafka-reassign-partitions.sh --zookeeper 10.0.210.152:2181 --topics-to-move-json-file topic.json --broker-list "0,1,2,3,4" --generate

将topic.json里的topic迁移到broker-list列表里列的broker上,会得到一个执行计划

Current partition replica assignment
{"version":1,
"partitions":[....]
}
Proposed partition reassignment configuration
{"version":1,
"partitions":[.....]
}

新建一个文件reassignment.json,保存上边这些信息。其中Current partition replica assignment指当前的分区情况,Proposed partition reassignment configuration是计划的分区情况

第二步:迁移
执行如下命令

./bin/kafka-reassign-partitions.sh --zookeeper 10.0.210.152:2181 --reassignment-json-file reassignment.json --execute

第三步:验证

./bin/kafka-reassign-partitions.sh --zookeeper 10.0.210.152:2181 --reassignment-json-file reassignment.json --verify

第四步:随机查看topics是否迁移

./bin/kafka-topics.sh --zookeeper 10.0.210.152:2181 --describe --topic test

5.其他kafka常用命令

./bin/kafka-console-producer.sh --broker-list 10.0.210.152:9092 --topic test
./bin/kafka-console-consumer.sh --zookeeper 10.0.210.152:2181 --topic test --from-beginning
./bin/kafka-topics.sh --zookeeper 10.0.210.152:2181 --list
./bin/kafka-topics.sh --zookeeper 10.0.210.152:2181 --create --replication-factor 2 --partition 6 --topic test
./bin/kafka-topics.sh --zookeeper 10.0.210.152:2181 --delete --topic test
./bin/kafka-topics.sh --zookeeper 10.0.210.152:2181 --describe --topic test

原文链接:https://blog.csdn.net/gezilan/article/details/80412490

kafka如何扩容分区Partition、并重新分区相关推荐

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

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

  2. 【Flink】flink并行度与kafka分区(partition)设置

    1.概述 默认: [Flink]FlinkConsumer是如何保证一个partition对应一个thread的 当分区与并行度不一样呢? 2.原理 采用取模运算:平衡 kafka partition ...

  3. Kafka生成消息时的3种分区策略

    本文分享自华为云社区<Kafka生产者3种分区分配策略>,作者:石臻臻的杂货铺. Kafka Producer在发送消息的时候,需要指定发送到哪个分区, 那么这个分区策略都有哪些呢?我们今 ...

  4. linux7分区硬盘,centos7根分区硬盘扩容

    运用虚拟机经常会出现硬盘容量不足的情况,在不改变配置的要求下,直接对根目录增加容量. centos7的默认安装已经把磁盘管理成LVM的卷形式,可以比较容易扩展磁盘容量.但是centos7在拓展文件分区 ...

  5. linux系统 opt扩容,扩容Linux系统的逻辑分区

    8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? 场景说明 本次项目组申请的服务器是运行在虚机上面,运维人员用80G的模板扩容到200G,所以磁盘还剩下有120G空间,项 ...

  6. Linux 磁盘管理,挂载分区管理,磁盘分区扩容缩容管理,详细教程

    一.Linux磁盘基本信息查看命令 df -h 查看已经在使用或挂载的磁盘信息.查看的是文件系统的大小 ubuntu@ubuntu:~$ df -h Filesystem Size Used Avai ...

  7. Kafka学习-----Kafka消费者Consumer:消费方式,分区分配策略,RangeRoundRobin

    目录 一.消费方式 二.消费者的分配模式 1.分配时机? 2.Range策略 2.RoundRobin 策略 三.代码解释 RangeAssignor: RoundRobinAssignor 一.消费 ...

  8. 理解MySQL——并行数据库与分区(Partition)

    1.并行数据库 1.1.并行数据库的体系结构 并行机的出现,催生了并行数据库的出现,不对,应该是关系运算本来就是高度可并行的.对数据库系统性能的度量主要有两种方式:(1)吞吐量(Throughput) ...

  9. Mysql PARTITION 数据表分区技术日期

    参考:http://www.sunzhenghua.com/mysql-myisam-innodb-partition-range-list-hash 在这一章节里, 我们来了解下 Mysql 中的分 ...

最新文章

  1. 漫谈面向对象基石之开闭原则(OCP)(转)
  2. MySQL Percona Toolkit--pt-osc与online DDL选择
  3. 适合做公安网的php,gonganbeian.php
  4. QQ2007 Beta2 下载地址泄露
  5. php定义浏览器编码,从php脚本到浏览器,编码方式浅析
  6. 宇宙大爆炸是不是一个黑洞的大爆炸?
  7. SPOJ104 Highways,跨越数
  8. Python的类与类型
  9. jeecg3.5的一个bug
  10. 设计模式(十一):享元模式
  11. “泰迪杯”技能赛丨第二期赛前培训预告
  12. 欠阻尼衰减振荡Matlab语言,欠阻尼振荡曲线的衰减系数怎么求
  13. 八卦在计算机应用,计算机编程在八卦图研究中的应用.doc
  14. Linux 任务计划的三种实现方式(at、batch、cron)
  15. Activity高级学习
  16. 一个最简单的Delphi2010的PNG异形窗口方法
  17. uview Cell 单元格 右侧箭头偏小
  18. 数据集的文字标签(label)转成数字标签
  19. BOSS管账深度融合钉能力,打破业财数据壁垒实现数据互通
  20. 启动Tomcat服务器报错

热门文章

  1. MT4API交易接口是什么?
  2. vscode在windows端远程连接ubuntu工作站
  3. vue3+Echart
  4. /opt/MegaRAID/MegaCli/MegaCli64
  5. Python实现NBA文字直播间
  6. 闰年的判断(python)
  7. 计算各位数字的平方和
  8. AIO 模拟量采集 电路
  9. 中科创达软件测试校招面试题 一面(技术)+二面(hr)
  10. [A*,启发式搜索] [SCOI2005] 骑士精神