Kafka节点服役和退役

1 服役新节点

1)新节点准备

(1)关闭 bigdata03,进行一个快照,并右键执行克隆操作。

(2)开启 bigdata04,并修改 IP 地址。

sql 复制代码
vi /etc/sysconfig/network-scripts/ifcfg-ens33

修改完记得重启网卡:
systemctl restart network

(3)在 bigdata04 上,修改主机名称为 bigdata04。

sql 复制代码
hostname bigdata04    # 临时修改

root@bigdata04 \~\]# vim /etc/hostname bigdata04 还要记得修改 /etc/hosts文件,并进行同步 ```sql 修改bigdata01的hosts 文件,修改完之后,记得同步一下 192.168.52.11 bigdata01 192.168.52.12 bigdata03 192.168.52.13 bigdata02 192.168.52.14 bigdata04 xsync.sh /etc/hosts scp -r /etc/hosts root@bigdata04:/etc/ ``` (4)重新启动 bigdata03、bigdata04。 (5)修改 bigdata04 中 kafka 的 broker.id 为 3。 ```sql 进入bigdata04的kafka中,修改里面的配置文件 config/server.properties ``` (6)删除 bigdata04 中 kafka 下的 datas 和 logs。 rm -rf datas/\* logs/\* (7)启动 bigdata01、bigdata02、bigdata03 上的 kafka 集群。 先启动zk集群 ```sql xcall.sh zkServer.sh stop xcall.sh zkServer.sh start ``` 启动kafka集群(只能启动三台) ```sql kf.sh start ``` (8)单独启动 bigdata04 中的 kafka。 ```sql kafka-server-start.sh -daemon ./config/server.properties ``` 查看kafka集群first主题的详情: kafka-topics.sh --bootstrap-server bigdata01:9092 --topic first --describe 发现副本数并没有增加。 由于我之前创建first这个主题的时候只有一个副本,不是三个副本,所以呢,演示效果不佳。 kafka-topics.sh --bootstrap-server bigdata01:9092 --topic third --create --partitions 3 --replication-factor 3 ![](https://i-blog.csdnimg.cn/direct/61455f21f4e24daaab3a652a59427cad.png) ##### 2)执行负载均衡操作 (1)创建一个要均衡的主题 在Kafka下: 创建一个文件:vi topics-to-move.json 写上如下代码,如果多个topic 可以使用,分隔 ```sql { "topics": [ {"topic": "third"} ], "version": 1 } ``` 2)生成一个负载均衡的计划 在创建的时候,记得启动bigdata04节点,否则计划中还是没有bigdata04 ```python kafka-reassign-partitions.sh --bootstrap-server bigdata01:9092 --topics-to-move-json-file topics-to-move.json --broker-list "0,1,2,3" --generate ``` ![](https://i-blog.csdnimg.cn/direct/1423e5b71cde40e19672b15227657a6d.png) 未来的分区策略拷贝一份: ```python {"version":1,"partitions":[{"topic":"abc","partition":0,"replicas":[2,0,1],"log_dirs":["any","any","any"]},{"topic":"abc","partition":1,"replicas":[3,1,2],"log_dirs":["any","any","any"]},{"topic":"abc","partition":2,"replicas":[0,2,3],"log_dirs":["any","any","any"]}]} ``` (3)创建副本存储计划(所有副本存储在 broker0、broker1、broker2、broker3 中)。 ```python vi increase-replication-factor.json ``` ```python {"version":1,"partitions":[{"topic":"first","partition":0,"replicas":[3,2,0],"log_dirs":["any","any","any"]},{"topic":"first","partition":1,"replicas":[0,3,1],"log_dirs":["any","any","any"]},{"topic":"first","partition":2,"replicas":[1,0,2],"log_dirs":["any","any","any"]}]} 以上这个内容来自于第二步的执行计划。 ``` (4)执行副本存储计划。 ```python kafka-reassign-partitions.sh --bootstrap-server bigdata01:9092 --reassignment-json-file increase-replication-factor.json --execute ``` (5)验证副本存储计划。 ```python kafka-reassign-partitions.sh --bootstrap-server bigdata01:9092 --reassignment-json-file increase-replication-factor.json --verify ``` 如果不相信添加成功,可以查看first节点的详情: ![](https://i-blog.csdnimg.cn/direct/8954b0fe20dd462c8eba3e23a19f3e55.png) #### 2 退役旧节点 ##### **1)执行负载均衡操作** 先按照退役一台节点,生成执行计划,然后按照服役时操作流程执行负载均衡。 (1)创建一个要均衡的主题 ```python kafka下添加文件:vim topics-to-move.json 添加如下内容: { "topics": [ {"topic": "abc"} ], "version": 1 } ``` (2)创建执行计划。 bin/kafka-reassign-partitions.sh --bootstrap-server bigdata01:9092 --topics-to-move-json-file topics-to-move.json --broker-list "0,1,2" --generate (3)创建副本存储计划(所有副本存储在 broker0、broker1、broker2 中)。 ```python 添加文件: vi increase-replication-factor.json 添加如下代码: {"version":1,"partitions":[{"topic":"first","partition":0,"replicas":[0,2,1],"log_dirs":["any","any","any"]},{"topic":"first","partition":1,"replicas":[1,0,2],"log_dirs":["any","any","any"]},{"topic":"first","partition":2,"replicas":[2,1,0],"log_dirs":["any","any","any"]}]} ``` (4)执行副本存储计划 ```python kafka-reassign-partitions.sh --bootstrap-server hadoop11:9092 --reassignment-json-file increase-replication-factor.json --execute ``` ##### **2** **)执行停止命令** 在 bigdata04上执行停止命令即可。 ```python kafka-server-stop.sh ```

相关推荐
Johny_Zhao3 小时前
Docker + CentOS 部署 Zookeeper 集群 + Kubernetes Operator 自动化运维方案
linux·网络安全·docker·信息安全·zookeeper·kubernetes·云计算·系统运维
小毛驴8504 小时前
Linux 后台启动java jar 程序 nohup java -jar
java·linux·jar
鸭鸭鸭进京赶烤4 小时前
大学专业科普 | 云计算、大数据
大数据·云计算
好好学习啊天天向上5 小时前
世上最全:ubuntu 上及天河超算上源码编译llvm遇到的坑,cmake,ninja完整过程
linux·运维·ubuntu·自动性能优化
tan180°6 小时前
MySQL表的操作(3)
linux·数据库·c++·vscode·后端·mysql
典学长编程6 小时前
Linux操作系统从入门到精通!第二天(命令行)
linux·运维·chrome
wuk9986 小时前
基于MATLAB编制的锂离子电池伪二维模型
linux·windows·github
G皮T8 小时前
【Elasticsearch】自定义评分检索
大数据·elasticsearch·搜索引擎·查询·检索·自定义评分·_score
爬山算法8 小时前
MySQL(116)如何监控负载均衡状态?
数据库·mysql·负载均衡
独行soc9 小时前
#渗透测试#批量漏洞挖掘#HSC Mailinspector 任意文件读取漏洞(CVE-2024-34470)
linux·科技·安全·网络安全·面试·渗透测试