前言

kafka集群扩容后,新的broker上面不会数据进入这些节点,也就是说,这些节点是空闲的;它只有在创建新的topic时才会参与工作。除非将已有的partition迁移到新的服务器上面;所以需要将一些topic的分区迁移到新的broker上。
另外一种情况就是集群减少broker节点,对原有的topic信息进行迁移,重新分配broker节点。

简单案例

本次案例将原本存在于两个borker节点(86,87)上的topic:test01(两副本),转移到87,88两个broker上(重新分配)。

生成分配计划

进入kafka的bin目录:

cd /opt/cloudera/parcels/KAFKA/bin

新建文件:

vi topics-to-move.json{"topics":[{"topic":"test01"}],"version": 1
}

执行脚本,生成分配计划:(--broker-list "87,88"是目标borker)

kafka-reassign-partitions --zookeeper bigdata102:2181,bigdata103:2181,bigdata104:2181 --topics-to-move-json-file topics-to-move.json --broker-list "87,88" --generate

执行结果如下:

Current partition replica assignment  #当前分区的副本分配
{"version":1,"partitions":[{"topic":"test01","partition":0,"replicas":[86,87]},{"topic":"test01","partition":1,"replicas":[86,87]},{"topic":"test01","partition":2,"replicas":[86,87]}]}Proposed partition reassignment configuration #建议的分区配置
{"version":1,"partitions":[{"topic":"test01","partition":0,"replicas":[87,88]},{"topic":"test01","partition":1,"replicas":[88,87]},{"topic":"test01","partition":1,"replicas":[87,88]}]}

新建文件topic-reassignment.json,将建议的分区设置copy进去:

vi topic-reassignment.json{"version":1,"partitions":[{"topic":"test01","partition":0,"replicas":[87,88]},{"topic":"test01","partition":1,"replicas":[88,87]},{"topic":"test01","partition":1,"replicas":[87,88]}]}

执行分配计划

根据建议的分区设置,重新分配topic的分区到broker节点

kafka-reassign-partitions --zookeeper bigdata102:2181,bigdata103:2181,bigdata104:2181 --reassignment-json-file topic-reassignment.json --execute

查看执行状态

kafka-reassign-partitions --zookeeper bigdata102:2181,bigdata103:2181,bigdata104:2181 --reassignment-json-file topic-reassignment.json --verify

最终完成分配

转载于:https://www.cnblogs.com/blazeZzz/p/10242679.html

Kafka集群中 topic数据的分区 迁移到其他broker相关推荐

  1. 如何查看kafka每个话题一共分了几个分区_如何决定kafka集群中话题的分区的数量...

    http://blog.csdn.net/greenappple/article/details/50933872 如何决定kafka集群中topic,partition的数量,这是许多kafka用户 ...

  2. Kafka集群间同步数据方案-Flume

    Apache Flume 是一个分布式.高可靠.高可用的用来收集.聚合.转移不同来源的大量日志数据到中央数据仓库的工具. 系统要求 Java运行环境 - Java 1.8或更高版本 体系结构 Even ...

  3. kafka集群中常见错误的解决方法:kafka.common.KafkaException: Should not set log end offset on partition

    kafka集群中常见错误的解决方法:kafka.common.KafkaException: Should not set log end offset on partition 参考文章: (1)k ...

  4. 【logstash】使用logstash拉取数据到kerberos+SSL认证的kafka集群中遇到的坑

    说明:我的是2个集群.集群A是不加密的kafka集群,集群B是Kerberos+SSL加密的集群.需求:需要使用 在测试过程中,我开始是把logstash安装在了集群A上,怎么测试都不通过.配置文件没 ...

  5. OpenShift 4 之AMQ Streams(3) - 用Kafka MirrorMaker在Kafka集群间复制数据

    <OpenShift 4.x HOL教程汇总> 文章目录 什么是MirrorMaker 配置MirrorMaker 确认Kafka环境 创建Source和Target 创建MirrorMa ...

  6. 拆分命令_在MongoDB分片集群中拆分数据块chunks

    MongoDB Manual (Version 4.2)> Sharding > Data Partitioning with Chunks > Split Chunks in a ...

  7. PG跨服务器的数据拷贝以及往pl/proxy集群中插入数据

    上一篇文章我介绍了pl/proxy集群的部署,现在需要往这个集群里导入数据.导入的数据源和待导入的目标库在两个不同服务器的pg数据库上.用postgres_fdw技术可以实现这个功能. 首先需要在待导 ...

  8. 另类--kafka集群中jmx端口设置

    # 监控kafka集群 # 有一个问题,需要在kafka-server-start.sh文件中配置端口,有如下三种办法 # 第一种:复制并修改kafka目录,比如kafka-1,kafka-2,kaf ...

  9. 容灾恢复 | 记一次K8S集群中etcd数据快照的备份恢复实践

    欢迎关注「全栈工程师修炼指南」公众号 点击

  10. Kafka 集群扩容、分区重新分配、SparkStreaming自适应上游kafka topic partition数目变化

    一.扩容场景 了解了数据迁移,我们来看下哪些场景需要进行扩容,然后有哪些方法可以实现快速扩容的效果.通常有如下两种需要紧急扩容的场景: 集群所有节点负载都高,需要快速扩容. 集群内某几台节点负载很高, ...

最新文章

  1. 【二级java】 二分法查找
  2. 与旷视、商汤等上百家企业同台竞技?AI Top 30+案例评选等你来秀!
  3. 提交PR后修改内容并合并commit
  4. 重装华为服务器系统软件,服务器系统重装软件
  5. python--paramiko模块
  6. 中国科学院计算机专业职称,2018年春季工程技术系列专业技术资格职称评审结束...
  7. wxWidgets:wxCloseEvent类用法
  8. JAXWS和JAXRS(REST)开发WebService区别
  9. winserver 服务开机启动
  10. 流程图 3条泳道 决策_制定透明决策的三步流程
  11. 19.内在摄像机校准——介绍,理想与真实固有参数之比,改善内在参数_1
  12. Airflow 中文文档:API 参考
  13. k8s 和 Docker 到底是什么关系?
  14. github100天python_GitHub - 664028812/Python-100-Days: Python - 100天从新手到大师
  15. 去除input默认的加减号
  16. 网络电话VOIP技术解析
  17. 控制面板中点击管理工具提示administrative tools 位置不可用的解决办法
  18. python 经典ppt_Python讲解ppt
  19. 【Rust日报】 2019-04-27
  20. html5--2.9新的布局元素(5)-hgroup/address

热门文章

  1. 初识Git-GitHub
  2. webstorm中代码添加单引号、双引号快捷键
  3. 【BZOJ3942】Censoring [KMP]
  4. Ubuntu 14 中给 APACHE2安装 SSL 模块 Enable SSL site on Ubuntu 14 LTS, Apache 2.4.7:
  5. 玩转html5(三)---智能表单(form),使排版更加方便
  6. java代码用户界面网格布局GridLayout.划分为格子区域
  7. 构建企业级LAMMP环境
  8. 二维字符数组转字符串c语言,[求助] 怎样转换一个字符二维数组到一维数组~~~...
  9. app登录界面背景 css_Google flutter这么火?撸一个APP登录界面(上)
  10. 计算机二级考试基础知识文档,计算机二级公共基础知识(考试必考)