Bootstrap

linux系统安装kafka(新版本3.7.0)

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

悦读

道可道,非常道;名可名,非常名。 无名,天地之始,有名,万物之母。 故常无欲,以观其妙,常有欲,以观其徼。 此两者,同出而异名,同谓之玄,玄之又玄,众妙之门。

;