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界面执行一些简单的集群管理操作.具体支持以下内容: 管理多个集群 ...
随机推荐
- linux 下安装gult
本文假设你之前没有用过任何任务脚本(task runner)和命令行工具,一步步教你上手Gulp.不要怕,它其实很简单,我会分为五步向你介绍gulp并帮助你完成一些惊人的事情.那就直接开始吧. 第一步 ...
- 201621123008 《Java程序设计》第五周学习总结
1. 本周学习总结 1.1 写出你认为本周学习中比较重要的知识点关键词 关键词:接口,内部类. 1.2 尝试使用思维导图将这些关键词组织起来.注:思维导图一般不需要出现过多的字. 1.3 可选:使用常 ...
- 首页焦点图myFocus插件
首页焦点图myFocus插件 myFocus特性 小巧却高效强大 myFocus v2.0.min版只有9.89KB,却能使你的网页上可以运行超过30款风格各异的焦点图,在互联网独一无二哦~ 极其 ...
- 【JAVA】通过HttpURLConnection 上传和下载文件(二)
HttpURLConnection文件上传 HttpURLConnection采用模拟浏览器上传的数据格式,上传给服务器 上传代码如下: package com.util; import java.i ...
- Angular 通过注入 $location 获取与修改当前页面URL
//1.获取当前完整的url路径 var absurl = $location.absUrl(); //http://172.16.0.88:8100/#/homePage?id=10&a=1 ...
- Myeclipse如何更新maven
选中项目-->右键-->Maven4MyEclipse-->Update Project-->勾选Force update of.....就ok了
- 2018.09.02 bzoj1003: [ZJOI2006]物流运输(dp+最短路转移)
传送门 dp好题. 每一天要变更路线一定还是走最短路. 所以l~r天不变更路线的最优方案就是把l~r天所有不能走的点都删掉再求最短路.显然是可以dp的. 设f[i]表示第i天的最优花销.那么我们枚举在 ...
- 新建maven web 项目后,出现的小问题
问题一:Description Resource Path Location TypeCannot change version of project facet Dynamic Web Module ...
- 201709021工作日记--Volley源码解读(四)
接着volley源码(三)继续,本来是准备写在(三)后面的,但是博客园太垃圾了,写了半天居然没保存上,要不是公司这个博客还没被限制登陆,鬼才用这个...真是垃圾 继续解读RequestQueue的源码 ...
- (转)code first基础
转自:http://tech.it168.com/a2011/0719/1220/000001220362_all.shtml [IT168 技术]随着.NET 4.0时代的到来,开发者越来越关注如何 ...