#安装启动之前必须配置好zookeeper 可以参考zookeeper安装配置-CSDN博客
一、下载安装包,并解压
#创建目录
mkdir -p /kafka/{install,data}
#进入/kafka/install目录下
cd /kafka/install
#下载kafka
wget https://archive.apache.org/dist/kafka/3.7.0/kafka_2.12-3.7.0.tgz
#解压
tar -xzvf kafka_2.12-3.7.0.tgz
二、修改配置文件
1、修改server.properties配置文件
vim /kafka/install/kafka_2.12-3.7.0/config/server.properties
#####################server.properties修改下面数据#######
listeners=PLAINTEXT://192.168.90.243:9092
zookeeper.connect=192.168.90.243:2188
#########################################################
#zookeeper.connect 调用zookeeper服务
三、启动kafka
1、启动关闭
#启动
#启动的时候引用了配置文件
/kafka/install/kafka_2.12-3.7.0/bin/kafka-server-start.sh -daemon /kafka/install/kafka_2.12-3.7.0/config/server.properties
#关闭
/kafka/install/kafka_2.12-3.7.0/bin/zookeeper-server-stop.sh
2、验证
tail -f /kafka/install/kafka_2.12-3.7.0/logs/server.log
#以上是单体kafka搭建
四、集群搭建
本次主要记录同一台服务器上搭建集群,类似于单体的搭建方式,我们只需要配置每个节点的配置文件,然后分别启动即可,如果是分不同的服务器搭建,类似于每台服务器上搭建单体,然后在配置文件中增加相应集群相关的配置项即可使用了,以下默认已经将压缩包解压好后的操作。
1、复制配置文件
#复制server.properties文件并重命名,复制出3(集群最好大于等于三个节点)份来
cp /kafka/install/kafka_2.12-3.7.0/config/server.properties /kafka/install/kafka_2.12-3.7.0/config/server-1.properties
cp /kafka/install/kafka_2.12-3.7.0/config/server.properties /kafka/install/kafka_2.12-3.7.0/config/server-2.properties
cp /kafka/install/kafka_2.12-3.7.0/config/server.properties /kafka/install/kafka_2.12-3.7.0/config/server-3.properties
2、改写配置文件
#节点id,不同的节点用不同的数字表示
broker.id=1
#对外的ip及端口,端口号每个文件不要用同一个,我使用的分别是9091,9092,9093
listeners=PLAINTEXT://192.168.90.243:9091
#数据存放位置,每个节点一个如/kafka-logs-1,/kafka-logs-2,/kafka-logs-3等,不同节点使用文件不可重复,如果重复了容易启动失败
log.dirs=/usr/local/kafka_2.12-2.5.1/data/cluster/kafka-logs-1
#填zookeeper的地址,多个用,隔开
zookeeper.connect=192.168.90.243:2181
#下面ip地址改成实际ip
sed -i 's/broker.id=0/broker.id=1/g' server-1.properties
sed -i 's#listeners=PLAINTEXT://192.168.90.243:9092#listeners=PLAINTEXT://192.168.90.243:9093#g' server-1.properties
sed -i 's#log.dirs=/tmp/kafka-logs#log.dirs=/tmp/kafka-logs1#g' server-1.properties
sed -i 's/zookeeper.connect=192.168.90.243:2887/zookeeper.connect=192.168.90.243:2887/g' server-1.properties
sed -i 's/broker.id=0/broker.id=2/g' server-2.properties
sed -i 's#listeners=PLAINTEXT://192.168.90.243:9092#listeners=PLAINTEXT://192.168.90.243:9094#g' server-2.properties
sed -i 's#log.dirs=/tmp/kafka-logs#log.dirs=/tmp/kafka-logs2#g' server-2.properties
sed -i 's/zookeeper.connect=192.168.90.243:2887/zookeeper.connect=192.168.90.243:2888/g' server-2.properties
sed -i 's/broker.id=0/broker.id=3/g' server-3.properties
sed -i 's#listeners=PLAINTEXT://192.168.90.243:9092#listeners=PLAINTEXT://192.168.90.243:9095#g' server-3.properties
sed -i 's#log.dirs=/tmp/kafka-logs#log.dirs=/tmp/kafka-logs3#g' server-3.properties
sed -i 's/zookeeper.connect=192.168.90.243:2887/zookeeper.connect=192.168.90.243:2889/g' server-3.properties
3、启动kafka
/kafka/install/kafka_2.12-3.7.0/bin/kafka-server-start.sh -daemon /kafka/install/kafka_2.12-3.7.0/config/server-1.properties
/kafka/install/kafka_2.12-3.7.0/bin/kafka-server-start.sh -daemon /kafka/install/kafka_2.12-3.7.0/config/server-2.properties
/kafka/install/kafka_2.12-3.7.0/bin/kafka-server-start.sh -daemon /kafka/install/kafka_2.12-3.7.0/config/server-3.properties
4、验证
#1、查看运行日志
tail -f /kafka/install/kafka_2.12-3.7.0/logs/server.log
#2、查网络端口
netstat -nalpt | grep 9095
#3、lsof -i:端口
lsof -i:9093
如果可以查到端口
报错解决
为正常关闭kafka导致无法启动
解决:清空log.dirs=/tmp/kafka-logs ,/tmp/kafka-logs/ 下的所有日志,然后重新启动