4-kafka安装
上传Kafka压缩包
- 将kafka_2.12-3.6.1.tgz文件上传到三台虚拟机的/opt/software目录中
解压Kafka压缩包
-
进入/opt/software目录
cd /opt/software
-
解压缩文件到指定目录
tar -zxvf kafka_2.12-3.6.1.tgz -C /opt/module/
-
进入/opt/module目录
cd /opt/module
-
修改文件目录名称
mv kafka_2.12-3.6.1/ kafka
修改配置文件
-
进入cd /opt/module/kafka/config文件目录
cd /opt/module/kafka/config
-
修改配置文件
vim server.properties
-
输入以下内容:
点击查看代码
#broker的全局唯一编号,每个服务节点不能重复,只能是数字。
broker.id=1
#broker对外暴露的IP和端口 (每个节点单独配置)
advertised.listeners=PLAINTEXT://kafka-broker1:9092
#kafka运行日志(数据)存放的路径,路径不需要提前创建,kafka自动帮你创建,可以配置多个磁盘路径,路径与路径之间可以用","分隔
log.dirs=/opt/module/kafka/datas
#配置连接Zookeeper集群地址(在zk根目录下创建/kafka,方便管理)
zookeeper.connect=kafka-broker1:2181,kafka-broker2:2181,kafka-broker3:2181/kafka
分发kafka软件
-
进入 /opt/module目录
cd /opt/module
-
执行分发指令
xsync kafka
-
按照上面的配置文件内容,在每一个Kafka节点进行配置,请注意配置文件中第一二条的对应主机号
vim /opt/module/kafka/config/server.properties
配置环境变量
-
修改 /etc/profile.d/my_env.sh文件
vim /etc/profile.d/my_env.sh
-
添加内容
点击查看代码
#KAFKA_HOME
export KAFKA_HOME=/opt/module/kafka
export PATH=$PATH:$KAFKA_HOME/bin
-
让环境变量生效
source /etc/profile.d/my_env.sh
-
分发环境变量,并让环境变量生效
xsync /etc/profile.d/my_env.sh
-
每个节点执行刷新操作
source /etc/profile.d/my_env.sh
启动Kafka
-
启动前请先启动ZooKeeper服务
-
进入/opt/module/kafka目录
cd /opt/module/kafka
-
执行启动指令
bin/kafka-server-start.sh -daemon config/server.properties
-
执行关闭指令
bin/kafka-server-stop.sh
分发软件
-
进入/opt/module路径
cd /opt/module
-
调用分发脚本将本机得ZooKeeper安装包分发到其他两台机器
xsync kafka
-
分别将不同虚拟机/opt/module/kafka/zkData目录下myid文件进行修改
vim /opt/module/kafka/config/server.properties
分发脚本可参考此博客https://i.cnblogs.com/posts/edit;postId=18145758
启停脚本
-
进入/root/bin目录
cd /root/bin
-
创建kfk.sh脚本文件
vim kfk.sh
-
在脚本中增加内容:
点击查看代码
#!/bin/bash
case "$1" in
start)
for i in kafka-broker1 kafka-broker2 kafka-broker3
do
echo " --------启动 $i Kafka-------"
ssh $i "/opt/module/kafka/bin/kafka-server-start.sh -daemon /opt/module/kafka/config/server.properties" && echo "$i Kafka started" || echo "Failed to start $i Kafka"
done
;;
stop)
for i in kafka-broker1 kafka-broker2 kafka-broker3
do
echo " --------停止 $i Kafka-------"
# 这里需要一个适当的方法来停止 Kafka 服务
# ssh $i "pkill -f '/opt/module/kafka/bin/kafka.Kafka'"
ssh $i "/path/to/your/kafka-stop-script.sh" && echo "$i Kafka stopped" || echo "Failed to stop $i Kafka"
done
;;
*)
echo "Usage: $0 {start|stop}"
;;
esac
-
给文件授权
chmod 777 kfk.sh
-
脚本调用方式
-
启动kafka
kfk.sh start
-
停止Kafka
kfk.sh stop
-
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步