kafka的下载地址:https://kafka.apache.org/downloads
注意:kafka的 producer 和 consumer 使用Java语言开发的,而broker是用Scala语言开发的,而上图中在kafka3.1.0版本下的两个地址中,另一个版本是Scala的版本。例如 kafka_2.12-3.1.0 代表 kafka版本3.1.0,Scala版本2.12
从2.8.0版本开始,kafka可以不用在配置Zookeeper组件了,但是在这之前的版本还是得需要Zookeeper的
本次安装基于kafka3.1.0版本,操作系统使用centos7,Java版1.8
1. 下载解压kafka
wget https://dlcdn.apache.org/kafka/3.1.0/kafka_2.12-3.1.0.tgz
tar -zxvf kafka_2.12-3.1.0.tgz
2. 配置 kafka
在kafka的config目录,kafka的主要配置文件是server.properties
# 对于每个代理,必须将其设置为唯一的整数,特别是集群时不能重复
broker.id=0
# 如果需要远程连接,需要配置此参数
advertised.listeners=PLAINTEXT://192.168.0.124:9092
# 日志文件存储路径
log.dirs=/home/kafka/log
# zookeeper 地址,如果是zookeeper是集群,用逗号进行隔开配置
zookeeper.connect=localhost:2181
3. 配置zookeeper
# 数据存放路径
dataDir=/home/zookeeper
4. 配置kafka的环境变量
# 在/etc/profile.d目录创建kafka的环境变量文件进行配置
vim /etc/profile.d/kafka.sh
# 在kafka的环境变量文件中配置以下参数,注意更换为自己的路径
export KAFKA_HOME=/home/kafka
export PATH=$PATH:$KAFKA_HOME/bin
# 执行source
source /etc/profile.d/kafka.sh
5. 启动zookeeper
kafka的压缩包已经包含了zookeeper和所有的启动脚本,并支持Windows
# 启动 zookeeper
# -daemon 后台启动
# zookeeper.properties 指定启动的配置
sh ./zookeeper-server-start.sh -daemon ../config/zookeeper.properties
# 查看zookeeper是否启动
ps -ef | grep zookeeper
6. 启动kafka
# 启动 kafka
# -daemon 后台启动
# server.properties 指定启动的配置
sh ./kafka-server-start.sh -daemon /home/kafka/config/server.properties
# 查看kafka是否启动
ps -ef | grep kafka
上面是手动启动,我们也可以通过脚本进行一键启动
#!/bin/bash
case $1 in
"start")
echo "----启动kafka和zookeeper----"
/home/kafka/bin/zookeeper-server-start.sh -daemon /home/kafka/config/zookeeper.properties
/home/kafka/bin/kafka-server-start.sh -daemon /home/kafka/config/server.properties
;;
"stop")
echo "----停止kafka和zookeeper----"
/home/kafka/bin/kafka-server-stop.sh
/home/kafka/bin/zookeeper-server-stop.sh
;;
esac
注意,在停止kafka之前必须先停止zookeeper