1、安装包下载
wget https://downloads.apache.org/kafka/3.7.0/kafka_2.13-3.7.0.tgz
注意事项:kafka会用到jdk,kafka_2.13-3.7.0版本的kafka不再支持jdk8,我这里用的jdk11
openjdk11下载1:https://mirrors.tuna.tsinghua.edu.cn/Adoptium/11/jdk/x64/linux/
openjdk11下载2:https://learn.microsoft.com/zh-cn/java/openjdk/download
我的解压目录/usr/local/jdk-11.0.23+9
2、安装
我安装到 /usr/local目录下了
cs /usr/local
#解压
tar -xzf kafka_2.13-3.7.0.tgz
cd kafka_2.13-3.7.0
首先要启动ZooKeeper服务,因为Kafka使用ZooKeeper,新版本中kafka集成了zookeeper
3、配置zookeeper.properties
配置kafka_2.13-3.7.0/config下的“zookeeper.properties”:
修改dataDir和clientPort:前者是快照存放地址(自己随意配置),后者是客户端连接zookeeper服务的端口。默认端口2181
#创建一个目录
mkdir zookeeper-data
#修改文件路径为:
dataDir=/usr/local/kafka_2.13-3.7.0/zookeeper-data
截图如下:
4、配置server.properties
配置kafka_2.13-3.7.0/config下的“server.properties”:
修改log.dirs和zookeeper.connect。前者是日志存放文件夹,后者是zookeeper连接地址(端口和clientPort保持一致)
创建一个目录:
mkdir kafka-logs
修改配置:
#日志目录
log.dirs=/usr/local/kafka_2.13-3.7.0/kafka-logs
#zookeeper连接地址
zookeeper.connect=localhost:2181
注意:若需要外部访问,一定需要配置listeners , 默认为本机IP 、端口默认9092。
截图:
5、启动
由于我的服务器有其他程序用jdk8,并配置了环境变量,所以在启动之前,我要修改脚本中使用jdk的路径:
修改:kafka-run-class.sh
在文件开始位置指定JAVA_HOME位置,文件中会用到
export JAVA_HOME=/usr/local/jdk-11.0.23+9
截图:
# 后台启动zookeeper,指定启动日志
nohup ./bin/zookeeper-server-start.sh ./config/zookeeper.properties > ./zookeeper-run.log 2>&1 &
# 后台启动kafka,指定启动日志
nohup ./bin/kafka-server-start.sh ./config/server.properties > ./kafka-run.log 2>&1 &
现在,Kafka单机版已经安装并运行。你可以使用内置的命令行工具来创建主题、生产消息和消费消息。
6、测试使用
创建主题:
bin/kafka-topics.sh --create --topic test --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1
生产消息:
bin/kafka-console-producer.sh --topic test --bootstrap-server localhost:9092
消费消息
bin/kafka-console-consumer.sh --topic test --bootstrap-server localhost:9092 --from-beginning
以上步骤在一台机器上完成了Kafka的基本安装和运行。如果你需要在生产环境中使用Kafka,你可能需要考虑配置Kafka集群或者使用更高级的管理和监控工具。
7、停止服务
先停止kafka
bin/kafka-server-stop.sh
再停止zookeeper:
bin/zookeeper-server-stop.sh
8、报错解决
配置文件中配置监听
listeners = PLAINTEXT://服务器ip:9092
9、漏洞修复
在zookeeper.properties中添加clientPortAddress=127.0.0.1