Kafka迁移与扩容工具用法
1.迁移topic到新增的node上
假如现在一个kafka集群运行三个broker,broker.id依次为101,102,103,后来由于业务数据突然暴增,需要新增三个broker,broker.id依次为104,105,106.目的是要把chatmessage迁移到新增node上。脚本(json格式)如下所示:
kafka-reassign-partitions.sh --zookeeper 192.168.1.10: --topics-to-move-json-file migration-chatmessage-topic.json --broker-list "104,105,106" --generate
migration-chatmessage-topic.json文件内容如下:
{
"topics":
[
{
"topic": "chatmessage"
}
],
"version":
}
生成分配partitions的json脚本:
{
"version":,
"partitions":
[
{
"topic":"chatmessage",
"partition":,"replicas":[]
},
{
"topic":"chatmessage",
"partition":,
"replicas":[]
},
{
"topic":"chatmessage",
"partition":,
"replicas":[]
},
{
"topic":"chatmessage",
"partition":,
"replicas":[]
},
{
"topic":"chatmessage",
"partition":,
"replicas":[]
},
{
"topic":"chatmessage",
"partition":,
"replicas":[]
},
{
"topic":"chatmessage",
"partition":,
"replicas":[]
},
{
"topic":"chatmessage",
"partition":,
"replicas":[]
},
{
"topic":"chatmessage",
"partition":,
"replicas":[]
},
{
"topic":"chatmessage",
"partition":,
"replicas":[]
},
{
"topic":"chatmessage",
"partition":,
"replicas":[]
},
{
"topic":"chatmessage",
"partition":,
"replicas":[]
}
]
}
}
重新分配parttions的json脚本如下:migration-topic-chatmessage-topic.json
{"version":,
"partitions":
[
{"topic":"cluster-switch-topic","partition":,"replicas":[]},
{"topic":"cluster-switch-topic","partition":,"replicas":[]},
{"topic":"cluster-switch-topic","partition":,"replicas":[]},
{"topic":"cluster-switch-topic","partition":,"replicas":[]},
{"topic":"cluster-switch-topic","partition":,"replicas":[]},
{"topic":"cluster-switch-topic","partition":,"replicas":[]},
{"topic":"cluster-switch-topic","partition":,"replicas":[]},
{"topic":"cluster-switch-topic","partition":,"replicas":[]},
{"topic":"cluster-switch-topic","partition":,"replicas":[]},
{"topic":"cluster-switch-topic","partition":,"replicas":[]},
{"topic":"cluster-switch-topic","partition":,"replicas":[]},
{"topic":"cluster-switch-topic","partition":,"replicas":[]}
]
}
执行一下脚本
./kafka-reassign-partitions.sh --zookeeper 192.168.1.10: --reassignment-json-file migration-topic-chatmessage-topic.json --execute
topic修改(replicats-factor)副本个数
假如初始时chatmessage为一个副本,为了提高可用性,需要改为2副本模式。脚本replicas-chatmessage-topic.json文件内容如下:
{
"partitions":
[
{
"topic": "chatmessage",
"partition": ,
"replicas": [,,]
},
{
"topic": "chatmessage",
"partition": ,
"replicas": [,,]
},
.......
"version":
}
编辑好json文件后执行一下命令:
./kafka-reassign-partitions.sh --zookeeper 192.168.1.10: --reassignment-json-file replicas-chatmessage-topic.json --execute
3.topic的分区扩容用法
先扩容分区数量,脚本如下:
./kafka-topics.sh --zookeeper 192.168.1.10: --alter --partitions --topic chatmessage
把topic为chatmessage的分区数量扩展到15个。
设置topic分区副本:
{
"partitions":
[
{
"topic": "chatmessage",
"partition": ,
"replicas": [,]
},
{
"topic": "chatmessage",
"partition": ,
"replicas": [,]
},
{
"topic": "chatmessage",
"partition": ,
"replicas": [,]
}
],
"version":
}
编辑json文件,执行一下脚本:
./bin/kafka-reassign-partitions.sh --zookeeper 192.168.1.10: --reassignment-json-file partitions-extension-chatmessage-topic.json --execute
Kafka迁移与扩容工具用法的更多相关文章
- kafka迁移与扩容
参考官网site: http://kafka.apache.org/documentation.html#basic_ops_cluster_expansion https://cwiki.apach ...
- (三)kafka集群扩容后的topic分区迁移
kafka集群扩容后的topic分区迁移 kafka集群扩容后,新的broker上面不会数据进入这些节点,也就是说,这些节点是空闲的:它只有在创建新的topic时才会参与工作.除非将已有的partit ...
- kafka集群扩容以及数据迁移
一 kafka集群扩容比较简单,机器配置一样的前提下只需要把配置文件里的brokerid改一个新的启动起来就可以.比较需要注意的是如果公司内网dns更改的不是很及时的话,需要给原有的旧机器加上新服务器 ...
- kafka集群扩容后的topic分区迁移
https://www.cnblogs.com/honeybee/p/5691921.html kafka集群扩容后,新的broker上面不会数据进入这些节点,也就是说,这些节点是空闲的:它只有在创建 ...
- MariaDB/MySQL备份和恢复(一):mysqldump工具用法详述
本文目录:1.备份分类2.备份内容和备份工具3.mysqldump用法详述 3.1 语法选项 3.1.1 连接选项 3.1.2 筛选选项 3.1.3 DDL选项 3.1.4 字符集选项 3.1.5 复 ...
- Mysql系列九:使用zookeeper管理远程Mycat配置文件、Mycat监控、Mycat数据迁移(扩容)
一.使用zookeeper管理远程Mycat配置文件 环境准备: 虚拟机192.168.152.130: zookeeper,具体参考前面文章 搭建dubbo+zookeeper+dubboadmin ...
- Greenplum 6 新功能 在线扩容工具GPExpand (转载)
Gpexpand是Greenplum数据库的扩容工具,可以为集群增加新节点从而可以存储更多的数据,提供更高的计算能力.Greenplum 5及之前,集群扩容需要停机增加新节点,然后对表数据做重分布.因 ...
- 转载:Hadoop排序工具用法小结
本文转载自Silhouette的文章,原文地址:http://www.dreamingfish123.info/?p=1102 Hadoop排序工具用法小结 发表于 2014 年 8 月 25 日 由 ...
- Kafka集群管理工具kafka-manager的安装使用
一.kafka-manager简介 kafka-manager是目前最受欢迎的kafka集群管理工具,最早由雅虎开源,用户可以在Web界面执行一些简单的集群管理操作.具体支持以下内容: 管理多个集群 ...
随机推荐
- x-www-form-urlencoded
就是application/x-www-from-urlencoded,会将表单内的数据转换为键值对,比如,name=java&age = 23 postman: 2.ajax传值
- part1:4-linux快速体验
1.Linux部分目录结构介绍 /:根目录,一般根目录下只存放目录,尽量不要存放文件:/etc./bin./dev./lib./sbin应该和根目录放置在一个分区中. /bin:可执行二进制文件目录, ...
- matlab toolboxes 大全
MATLAB Toolboxes top (Top) Audio - Astronomy - BiomedicalInformatics - Chemometrics - Chaos - Chemi ...
- 【Win2D】【译】Win2D 快速入门
原文链接:http://microsoft.github.io/Win2D/html/QuickStart.htm 快速入门 这是 Win2D 的快速入门教程,将会介绍 Win2D 中的基本功能.你将 ...
- codis服务部署前的操作及初始化
1.检查服务器ipv6模块是否打开,如果打开需要禁用ipv6,防止codis-dashbord连接zookeeper失败. 因为不确定codis-dashbord服务连接zookeeper使用ipv4 ...
- c3p0----获取不到链接
最近别人的项目,因为经常获取不到链接出错,我好奇也就跟着摆弄了一把,使用的插件是:c3p0+spring+ibatiS,当然事务管理部分也配置上了配置如下: <bean id="dat ...
- 用C#开发的双色球走势图(原创)值得园友拥有(二)接上一篇
昨晚由于时间的原因只写了一部分内容,今天将这一部分内容补充完毕,多谢各位园友的支持. 这是用C#开发的双色球走势图(原创)值得园友拥有 新的园友可以看昨晚写的内容,以免脱节.首先回复园友的评论,有说好 ...
- WinForm&&DEV知识小结
-------------------------------------------------------------------------------- 1.父窗体Form1中调用子窗体For ...
- 初识构建工具-gradle
构建工具的作用 依赖管理 测试,打包,发布 主流的构建工具 Ant:提供编译,测试,打包 Maven:在Ant的基础上提供了依赖管理和发布的功能 Gradle:在Maven的基础上使用Groovy管理 ...
- 我也谈谈.NET程序员工资低
我从2011年下半年预谋转型,2012春季正式转型到iOS,看了<经过本人 6 年.net 工作经验证明 .net 工资确实比 Java 低>这篇文章,一下子有很多感慨. 我不好意思算我干 ...