线上启动容器的方式是复制容器的运行环境出来,然后进行运行脚本的形式
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
bash
./bin/kafka-server-start.sh config/kraft/server.properties
7:改成后台启动命令
bash
nohup ./bin/kafka-server-start.sh config/kraft/server.properties &
8:改成自启,创建一个启动脚本,例如kafka-server.sh,包含以下内容:
bash
#!/bin/bash
export KAFKA_HOME=<Kafka安装目录>
$KAFKA_HOME/bin/kafka-server-start.sh $KAFKA_HOME/config/kraft/server.properties
将脚本复制到/etc/init.d/目录下,并给予其可执行权限:
bash
sudo cp kafka-server.sh /etc/init.d/ sudo
chmod +x /etc/init.d/kafka-server.sh