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. 挪过来的spring mvc 的入门 介绍

    目录  一.前言二.spring mvc 核心类与接口三.spring mvc 核心流程图 四.spring mvc DispatcherServlet说明 五.spring mvc 父子上下文的说明 ...

  2. struts2值栈ValueStack中都有哪些东西?

    com.opensymphony.xwork2.dispatcher.HttpServletRequest application com.opensymphony.xwork2.dispatcher ...

  3. 2018.08.17 洛谷[POI2010]GRA-The Minima Game(线性dp)

    传送门 短代码神奇dp. 自己yy的思路居然1A了好高兴啊! 不难想到每个人选择的时候一定是取连续的最大的那一段数,自然需要先排序. 然后可以用dp[i]表示当前最大数是a[i]的时候先手可以获得的最 ...

  4. flask_模板

    由于python中生成html比较繁琐,所以flask自动为你配置好jinjia2模板.下面我们开始学习模板应用吧~ 1.编写microblog模块 注:(1)这里为了渲染模板,我们从Flask导入了 ...

  5. mysql CONCAT用法

    1.全表查询 SELECT * FROM `wh_statistics_service_api_request`; 由于上面时间是按year,month,day三个数值字段来存时间的,现在想通过时间段 ...

  6. (KMP)剪花布条 -- hdu -- 2087

    http://acm.hdu.edu.cn/showproblem.php?pid=2087 剪花布条 Time Limit: 1000/1000 MS (Java/Others)    Memory ...

  7. (小数化分数)小数化分数2 -- HDU --1717

    链接: http://acm.hdu.edu.cn/showproblem.php?pid=1717 举例: 0.24333333…………=(243-24)/900=73/3000.9545454…… ...

  8. HDU1269 迷宫城堡 2016-07-24 13:47 84人阅读 评论(0) 收藏

    迷宫城堡 Problem Description 为了训练小希的方向感,Gardon建立了一座大城堡,里面有N个房间(N<=10000)和M条通道(M<=100000),每个通道都是单向的 ...

  9. MFC OnOk(),OnCancel(),OnClose(),OnDestroy()的区别总结

    MFC OnOk(),OnCancel(),OnClose(),OnDestroy()的区别总结(转) 第一,OnOK()和OnCancel()是CDialog基类的成员函数,而OnClose()和O ...

  10. java线程一

    我们可以在计算机上运行各种计算机软件程序.每一个运行的程序可能包括多个独立运行的线程(Thread).线程(Thread)是一份独立运行的程序,有自己专用的运行栈.线程有可能和其他线程共享一些资源,比 ...