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迁移与扩容工具用法的更多相关文章

  1. kafka迁移与扩容

    参考官网site: http://kafka.apache.org/documentation.html#basic_ops_cluster_expansion https://cwiki.apach ...

  2. (三)kafka集群扩容后的topic分区迁移

    kafka集群扩容后的topic分区迁移 kafka集群扩容后,新的broker上面不会数据进入这些节点,也就是说,这些节点是空闲的:它只有在创建新的topic时才会参与工作.除非将已有的partit ...

  3. kafka集群扩容以及数据迁移

    一 kafka集群扩容比较简单,机器配置一样的前提下只需要把配置文件里的brokerid改一个新的启动起来就可以.比较需要注意的是如果公司内网dns更改的不是很及时的话,需要给原有的旧机器加上新服务器 ...

  4. kafka集群扩容后的topic分区迁移

    https://www.cnblogs.com/honeybee/p/5691921.html kafka集群扩容后,新的broker上面不会数据进入这些节点,也就是说,这些节点是空闲的:它只有在创建 ...

  5. 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 复 ...

  6. Mysql系列九:使用zookeeper管理远程Mycat配置文件、Mycat监控、Mycat数据迁移(扩容)

    一.使用zookeeper管理远程Mycat配置文件 环境准备: 虚拟机192.168.152.130: zookeeper,具体参考前面文章 搭建dubbo+zookeeper+dubboadmin ...

  7. Greenplum 6 新功能 在线扩容工具GPExpand (转载)

    Gpexpand是Greenplum数据库的扩容工具,可以为集群增加新节点从而可以存储更多的数据,提供更高的计算能力.Greenplum 5及之前,集群扩容需要停机增加新节点,然后对表数据做重分布.因 ...

  8. 转载:Hadoop排序工具用法小结

    本文转载自Silhouette的文章,原文地址:http://www.dreamingfish123.info/?p=1102 Hadoop排序工具用法小结 发表于 2014 年 8 月 25 日 由 ...

  9. Kafka集群管理工具kafka-manager的安装使用

    一.kafka-manager简介 kafka-manager是目前最受欢迎的kafka集群管理工具,最早由雅虎开源,用户可以在Web界面执行一些简单的集群管理操作.具体支持以下内容: 管理多个集群 ...

随机推荐

  1. x-www-form-urlencoded

    就是application/x-www-from-urlencoded,会将表单内的数据转换为键值对,比如,name=java&age = 23 postman: 2.ajax传值

  2. part1:4-linux快速体验

    1.Linux部分目录结构介绍 /:根目录,一般根目录下只存放目录,尽量不要存放文件:/etc./bin./dev./lib./sbin应该和根目录放置在一个分区中. /bin:可执行二进制文件目录, ...

  3. matlab toolboxes 大全

    MATLAB Toolboxes top (Top) Audio - Astronomy - BiomedicalInformatics - Chemometrics  - Chaos - Chemi ...

  4. 【Win2D】【译】Win2D 快速入门

    原文链接:http://microsoft.github.io/Win2D/html/QuickStart.htm 快速入门 这是 Win2D 的快速入门教程,将会介绍 Win2D 中的基本功能.你将 ...

  5. codis服务部署前的操作及初始化

    1.检查服务器ipv6模块是否打开,如果打开需要禁用ipv6,防止codis-dashbord连接zookeeper失败. 因为不确定codis-dashbord服务连接zookeeper使用ipv4 ...

  6. c3p0----获取不到链接

    最近别人的项目,因为经常获取不到链接出错,我好奇也就跟着摆弄了一把,使用的插件是:c3p0+spring+ibatiS,当然事务管理部分也配置上了配置如下: <bean id="dat ...

  7. 用C#开发的双色球走势图(原创)值得园友拥有(二)接上一篇

    昨晚由于时间的原因只写了一部分内容,今天将这一部分内容补充完毕,多谢各位园友的支持. 这是用C#开发的双色球走势图(原创)值得园友拥有 新的园友可以看昨晚写的内容,以免脱节.首先回复园友的评论,有说好 ...

  8. WinForm&&DEV知识小结

    -------------------------------------------------------------------------------- 1.父窗体Form1中调用子窗体For ...

  9. 初识构建工具-gradle

    构建工具的作用 依赖管理 测试,打包,发布 主流的构建工具 Ant:提供编译,测试,打包 Maven:在Ant的基础上提供了依赖管理和发布的功能 Gradle:在Maven的基础上使用Groovy管理 ...

  10. 我也谈谈.NET程序员工资低

    我从2011年下半年预谋转型,2012春季正式转型到iOS,看了<经过本人 6 年.net 工作经验证明 .net 工资确实比 Java 低>这篇文章,一下子有很多感慨. 我不好意思算我干 ...