kafka节点的服役和退役

假设集群只有hadoop102、hadoop103、hadoop104中有kafka的节点,现在需要在hadoop105中新增一个节点,并且需要将部分主题的数据迁移到新增的节点中。或者将hadoop105节点退役掉,需要将105中的主题的数据迁移到现役的broker中。

服役新节点

  1. 在hadoop105上安装kafka,或者通过rsync等命令传输过去(需要注意的是通过命令传输过去的kafka需要将data、logs等删除干净);
  2. 启动hadoop102、hadoop103、hadoop104上的kafka集群。
  3. 修改haodoop105中kafka的broker.id为3
  4. 单独启动hadoop105中的kafka
 [wyp@hadoop105 kafka]$ bin/kafka-server-start.sh -daemon ./config/server.properties
  1. 创建一个要均衡的主题
[wyp@hadoop102 kafka]$ vim topics-to-move.json {"topics": [{"topic": "first"}],"version": 1
}
  1. 生成一个负载均衡的计划
[wyp@hadoop102 kafka]$ bin/kafka-reassign-partitions.sh --bootstrap-server hadoop102:9092  --topics-to-move-json-file topics-to-move.json --broker-list "0,1,2,3" --generateCurrent partition replica assignment
{"version":1,"partitions":[{"topic":"first","partition":0,"replicas":[0,2,1],"log_dirs":["any","any","any"]},{"topic":"first","partition":1,"replicas":[2,1,0],"log_dirs":["any","any","any"]},{"topic":"first","partition":2,"replicas":[1,0,2],"log_dirs":["any","any","any"]}]}Proposed partition reassignment configuration
{"version":1,"partitions":[{"topic":"first","partition":0,"replicas":[2,3,0],"log_dirs":["any","any","any"]},{"topic":"first","partition":1,"replicas":[3,0,1],"log_dirs":["any","any","any"]},{"topic":"first","partition":2,"replicas":[0,1,2],"log_dirs":["any","any","any"]}]}
  1. 创建副本存储计划(所有副本存储在broker0、broker1、broker2、broker3中)。
[wyp@hadoop102 kafka]$ vim increase-replication-factor.json

将上方系统生成的Proposed partition reassignment configuration下的内容复制到 increase-replication-factor.json

{"version":1,"partitions":[{"topic":"first","partition":0,"replicas":[2,3,0],"log_dirs":["any","any","any"]},{"topic":"first","partition":1,"replicas":[3,0,1],"log_dirs":["any","any","any"]},{"topic":"first","partition":2,"replicas":[0,1,2],"log_dirs":["any","any","any"]}]}
  1. 执行副本存储计划
[wyp@hadoop102 kafka]$ bin/kafka-reassign-partitions.sh --bootstrap-server hadoop102:9092 --reassignment-json-file increase-replication-factor.json --execute
  1. 验证副本存储计划(可以通过命令的形式查看或者去105节点上查看)
[wyp@hadoop102 kafka]$ bin/kafka-reassign-partitions.sh --bootstrap-server hadoop102:9092 --reassignment-json-file increase-replication-factor.json --verify

执行后看到如下输出就是完成节点的数据均衡了。

Status of partition reassignment:
Reassignment of partition first-0 is complete.
Reassignment of partition first-1 is complete.
Reassignment of partition first-2 is complete.Clearing broker-level throttles on brokers 0,1,2,3
Clearing topic-level throttles on topic first

退役旧节点

  1. 创建一个要均衡的主题。
[wyp@hadoop102 kafka]$ vim topics-to-move.json {"topics": [{"topic": "first"}],"version": 1
}
  1. 创建执行计划
[wyp@hadoop102 kafka]$ bin/kafka-reassign-partitions.sh --bootstrap-server hadoop102:9092  --topics-to-move-json-file topics-to-move.json --broker-list "0,1,2" --generateCurrent partition replica assignment
{"version":1,"partitions":[{"topic":"first","partition":0,"replicas":[2,0,1],"log_dirs":["any","any","any"]},{"topic":"first","partition":1,"replicas":[3,1,2],"log_dirs":["any","any","any"]},{"topic":"first","partition":2,"replicas":[0,2,3],"log_dirs":["any","any","any"]}]}Proposed partition reassignment configuration
{"version":1,"partitions":[{"topic":"first","partition":0,"replicas":[2,0,1],"log_dirs":["any","any","any"]},{"topic":"first","partition":1,"replicas":[0,1,2],"log_dirs":["any","any","any"]},{"topic":"first","partition":2,"replicas":[1,2,0],"log_dirs":["any","any","any"]}]}
  1. 创建副本存储计划
[wyp@hadoop102 kafka]$ vim increase-replication-factor.json
# 把上方的Proposed partition reassignment configuration复制到文件中
{"version":1,"partitions":[{"topic":"first","partition":0,"replicas":[2,0,1],"log_dirs":["any","any","any"]},{"topic":"first","partition":1,"replicas":[0,1,2],"log_dirs":["any","any","any"]},{"topic":"first","partition":2,"replicas":[1,2,0],"log_dirs":["any","any","any"]}]}
  1. 执行副本存储计划
[wyp@hadoop102 kafka]$ bin/kafka-reassign-partitions.sh --bootstrap-server hadoop102:9092 --reassignment-json-file increase-replication-factor.json --execute
  1. 验证副本存储计划
[wyp@hadoop102 kafka]$ bin/kafka-reassign-partitions.sh --bootstrap-server hadoop102:9092 --reassignment-json-file increase-replication-factor.json --verifyStatus of partition reassignment:
Reassignment of partition first-0 is complete.
Reassignment of partition first-1 is complete.
Reassignment of partition first-2 is complete.Clearing broker-level throttles on brokers 0,1,2,3
Clearing topic-level throttles on topic first

总结:
kafka节点的服役和退役的节点操作是相同,均是将主题中的数据均匀的分配到新增或者删除节点之外的borker中。

操作步骤:
(1)创建需要均衡的主题;
(2)生成负载均衡的计划;
(3)创建并执行生成的负载均衡的计划;
(4)验证计划的执行情况。

需要注意的是,服役节点时,新增的节点的brokerId需要修改,rsync复制过去的需要将data、logs中的内容删除掉。

kafka节点的服役和退役相关推荐

  1. kafka 集群服役新节点

    前言 在生产环境下,kafka集群中发现遇到了性能瓶颈,主要体现在现有的集群下,某个topic的分区存储不够用了,生产者生产消息量太大,或者消费端消费速度跟不上生产进度,导致分区数据大量堆积: 在这种 ...

  2. Kafka精华问答 | kafka节点之间如何备份?

    戳蓝字"CSDN云计算"关注我们哦! Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写.作为一种高吞吐量的分布式发布订阅消息系统,有着诸多特 ...

  3. Kafka节点扩容、缩容后reassign partition

    文章目录 简介 kafka-reassign-partitions使用 简介 kafka节点扩容.缩容后,需要reassign partition replica, kafka-reassign-pa ...

  4. Kafka系列之:增加Kafka节点扩展Kafka集群

    Kafka系列之:增加Kafka节点扩展Kafka集群 一.增加Kafka节点 二.分区重新分配工具三种工作模式 三.自动将数据迁移到新机器 四.自定义分区分配和迁移 五.增加复制因子 六.在数据迁移 ...

  5. Kafka节点服役和退役

    一.服役新节点 1. 新节点配置 基础配置 vim /etc/sysconfig/network-scripts/ifcfg-ens33 BOOTPROTO=static IPADDR=192.168 ...

  6. DataNode新节点服役与旧节点退役

    大数据相关博客的目录 在阅读此篇之前,应当先阅读基于CentOS7镜像和数据挂载卷实现Docker搭建Hadoop集群 服役与退役 Hadoop集群中管理员经常需要向集群中添加节点,或从集群中移除节点 ...

  7. 第五天 hadoop DataNode、节点的退役与服役

    DataNode和MR运行原理 一.DataNode概述 <1>配置DataNode宕机时间 <2>DataNode的多目录配置 二.节点的服役和退役 <1>节点的 ...

  8. kafka(三):kafka broker

    文章目录 1. broker总体工作流程 2. Broker重要参数 3. broker节点的服役和退役 3.1 服役新节点 3.2 退役旧节点 4. kafka副本与leader选举 4.1 副本基 ...

  9. (四)Hadoop分布式文件系统Hdfs

    1.hdfs常用操作 hdfs dfs -mkdir /user/gao/    //创建文件 hdfs dfs -ls -r /user/gao    //查看(递归) hdfs dfs -lsr ...

最新文章

  1. 亚马逊AWS:正确设置FTP
  2. 浅谈AJAX并实现使用pagehelper-5.1.10.jar分页插件实现异步从数据库中获取数据分页显示
  3. Shell脚本编程详解
  4. 关于Office开发,郁闷!
  5. std::vector 从大到小排序
  6. pascal voc数据集_【资源分享】数据集搜索神器BIFROST
  7. YYKit 源码探究
  8. html5小游戏代码-2048游戏
  9. python实现科赫雪花的绘制(最简单)
  10. 高等数学复习之空间解析几何
  11. Qt 常用类 (11)—— QLabel
  12. 蔡维德:Libra如果脱钩美元 美国第二天就让它下市
  13. 华为南研所机考练习2 -求最大递增数
  14. 漂流瓶php源码,微信小程序之仿微信漂流瓶
  15. 仿QQ对话列表滑动删除与置顶的原理及实现
  16. discuz admin.php换名,discuz更换域名修改方法
  17. 数据库应用最基础知识!
  18. NLP-D59-nlp比赛D28—我想,也好—阶段总结—心态调整
  19. vue广告栏上下滚动效果
  20. 2020年chx的计算机保研之路系列(7)——清华软院+北大软微(均被拒)

热门文章

  1. 主成分分析(PCA)-Python代码
  2. 魔兽世界服务器卡顿原理,暴雪解释《魔兽世界》怀旧服卡顿原因 这款插件你还在用吗?...
  3. 视图的重命名mysql语句_sql语句重命名字段-视图重命名sql语句-数据库重命名sql语句...
  4. 有关QSignalMapper的只言片语
  5. (只为娱乐,笑笑可了)赛龙舟
  6. Apache ShardingSphere
  7. 大华服务器没进系统,交换机与大华服务器链路聚合出问题
  8. I2C接口控制器之协议解析
  9. 【Web前端笔记-基础】第八课·初识 CSS,CSS属性
  10. 涓滴意念--java基础