kafka如何扩容分区Partition、并重新分区
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、并重新分区相关推荐
- kafka 修改分区_Kafka动态调整topic分区partition - russle的专栏 - CSDN博客
我们在使用kafka时,初期创建时所指定topic属性需要修改,如何动态修改kafka属性?kafka提供了命令行工具-kafka-topics.sh. kafka-topics.sh工具介绍 kaf ...
- 【Flink】flink并行度与kafka分区(partition)设置
1.概述 默认: [Flink]FlinkConsumer是如何保证一个partition对应一个thread的 当分区与并行度不一样呢? 2.原理 采用取模运算:平衡 kafka partition ...
- Kafka生成消息时的3种分区策略
本文分享自华为云社区<Kafka生产者3种分区分配策略>,作者:石臻臻的杂货铺. Kafka Producer在发送消息的时候,需要指定发送到哪个分区, 那么这个分区策略都有哪些呢?我们今 ...
- linux7分区硬盘,centos7根分区硬盘扩容
运用虚拟机经常会出现硬盘容量不足的情况,在不改变配置的要求下,直接对根目录增加容量. centos7的默认安装已经把磁盘管理成LVM的卷形式,可以比较容易扩展磁盘容量.但是centos7在拓展文件分区 ...
- linux系统 opt扩容,扩容Linux系统的逻辑分区
8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? 场景说明 本次项目组申请的服务器是运行在虚机上面,运维人员用80G的模板扩容到200G,所以磁盘还剩下有120G空间,项 ...
- Linux 磁盘管理,挂载分区管理,磁盘分区扩容缩容管理,详细教程
一.Linux磁盘基本信息查看命令 df -h 查看已经在使用或挂载的磁盘信息.查看的是文件系统的大小 ubuntu@ubuntu:~$ df -h Filesystem Size Used Avai ...
- Kafka学习-----Kafka消费者Consumer:消费方式,分区分配策略,RangeRoundRobin
目录 一.消费方式 二.消费者的分配模式 1.分配时机? 2.Range策略 2.RoundRobin 策略 三.代码解释 RangeAssignor: RoundRobinAssignor 一.消费 ...
- 理解MySQL——并行数据库与分区(Partition)
1.并行数据库 1.1.并行数据库的体系结构 并行机的出现,催生了并行数据库的出现,不对,应该是关系运算本来就是高度可并行的.对数据库系统性能的度量主要有两种方式:(1)吞吐量(Throughput) ...
- Mysql PARTITION 数据表分区技术日期
参考:http://www.sunzhenghua.com/mysql-myisam-innodb-partition-range-list-hash 在这一章节里, 我们来了解下 Mysql 中的分 ...
最新文章
- 漫谈面向对象基石之开闭原则(OCP)(转)
- MySQL Percona Toolkit--pt-osc与online DDL选择
- 适合做公安网的php,gonganbeian.php
- QQ2007 Beta2 下载地址泄露
- php定义浏览器编码,从php脚本到浏览器,编码方式浅析
- 宇宙大爆炸是不是一个黑洞的大爆炸?
- SPOJ104 Highways,跨越数
- Python的类与类型
- jeecg3.5的一个bug
- 设计模式(十一):享元模式
- “泰迪杯”技能赛丨第二期赛前培训预告
- 欠阻尼衰减振荡Matlab语言,欠阻尼振荡曲线的衰减系数怎么求
- 八卦在计算机应用,计算机编程在八卦图研究中的应用.doc
- Linux 任务计划的三种实现方式(at、batch、cron)
- Activity高级学习
- 一个最简单的Delphi2010的PNG异形窗口方法
- uview Cell 单元格 右侧箭头偏小
- 数据集的文字标签(label)转成数字标签
- BOSS管账深度融合钉能力,打破业财数据壁垒实现数据互通
- 启动Tomcat服务器报错