kafka伪集群部署,使用docker环境拷贝模式

线上启动容器的方式是复制容器的运行环境出来,然后进行运行脚本的形式

1:在home/kafka目录下创建如下目录

在这里插入图片描述

2:复制kafka1容器内的数据/bitnami/kafka/data,直接放在1992_data里面,同理,复制kafka2容器内的数据/bitnami/kafka/data,直接放在2992_data里面,复制kafka3容器内的数据/bitnami/kafka/data,直接放在3992_data里面

3:注意在/bitnami/kafka/data有个文件meta.properties有如下信息

在这里插入图片描述

确保全部kafka集群id相同,节点id不同

4:制kafka1容器内的数据/opt/bitnami/kafka,直接放在kafka_1992里面的一个文件夹kafka_2.12-3.3.1下,需使用如下命令从正在正常运行的容器中复制出来 ,然后压缩,发送到生产环境相应目录,再解压

在这里插入图片描述

5:修改/opt/bitnami/kafka目录下发送到生产环境的解压后的的文件/home/kafka/kafka_19092/kafka_2.12-3.3.1/config/kraft目录下的server.properties文件如下

在这里插入图片描述

6:在/home/kafka/kafka_19092/kafka_2.12-3.3.1目录下运行如下命令即可启动kafka

./bin/kafka-server-start.sh config/kraft/server.properties

7:改成后台启动命令

nohup ./bin/kafka-server-start.sh config/kraft/server.properties &

8:改成自启,创建一个启动脚本,例如kafka-server.sh,包含以下内容:

#!/bin/bash
export KAFKA_HOME=<Kafka安装目录>
$KAFKA_HOME/bin/kafka-server-start.sh $KAFKA_HOME/config/kraft/server.properties

将脚本复制到/etc/init.d/目录下,并给予其可执行权限:

sudo cp kafka-server.sh /etc/init.d/ sudo 
chmod +x /etc/init.d/kafka-server.sh