kafka 的安装

1.下载 Kafka:

前往 Apache Kafka 官方网站(https://kafka.apache.org/downloads)下载适用于你操作系统的 Kafka 版本
ps: kafka 3.0.0开始不再支持 java 8和 scala 2.12

2.解压文件

将下载的 Kafka 压缩包解压到你选择的目录中。
这里使用 tar 命令进行解压,不了解 tar命令的可以到这篇文章下查看https://blog.csdn.net/sangewuxie/article/details/131265798

tar -xf kafka_2.12-3.4.0.tgz -C ~/util

个人将所有工具都放在了当前用户的 util 包下,根据自己实际情况选择目录

3.配置 zk

Kafka 依赖于 ZooKeeper 用于协调和管理集群,这里直接使用 kafka 自带的 zk。在 Kafka 目录下找到 config 文件夹,并编辑 zookeeper.properties 文件。

修改 dataDir 属性,指定 ZooKeeper 数据存储的目录。

这里编辑使用的是 vim 工具,也可以是 vi,什么文本编辑工具都可以啦。对于 vi/vim工具的使用后面会出一篇详细介绍
目录根据自己需要修改,也没那么在意啦
在这里插入图片描述
也可以修改 zk 的目录,下面 clientPort参数,当然都是根据自己实际需要,我这里没有那么多事情

4.启动 zk

在 Kafka 目录下打开命令行终端,执行以下命令启动 ZooKeeper 服务:

bin/zookeeper-server-start.sh config/zookeeper.properties

在这里插入图片描述在这里插入图片描述
一般情况下 zk 都能成功启动,如果第一次启动出现问题,一般是端口占用,回到上面的文件,修改 zk相关配置就好啦

5.配置 kafka

在 Kafka 目录下找到 config 文件夹,并编辑 server.properties 文件。

vim server.properties
修改 broker.id 属性,为每个 Kafka 服务器指定唯一的 ID。

在这里插入图片描述
如果你不手动修改 broker.id 属性,Kafka 服务器会在启动时自动分配一个唯一的 ID。默认情况下,Kafka 在启动时会检查存储在 log.dirs(在 server.properties 文件中配置)中的日志目录,并查找已存在的 broker.id。如果找到了,则使用现有的 broker.id,否则会为当前服务器分配一个新的唯一 ID。自动分配的 broker.id 是根据 Kafka 集群中已经存在的 ID 进行递增计算的。在一个全新的单节点集群中,如果你没有手动设置 broker.id,Kafka 会自动分配一个默认值为 0 的 ID。但是,如果你打算运行一个多节点的 Kafka 集群,强烈建议手动设置每个服务器的唯一 broker.id。这样可以确保每个服务器具有固定的 ID,以便在集群中的任何时候重新启动时能够正确地识别和恢复其状态。如果自动分配的 broker.id 在集群中的多个服务器之间发生变化,可能会导致数据不一致和其他问题。因此,为了确保集群中每个 Kafka 服务器的稳定性和一致性,建议手动设置每个服务器的 broker.id 属性。

修改 listeners 属性,指定 Kafka 监听的地址和端口。

在这里插入图片描述
根据需要修改其他属性,如日志目录、副本因子等。不做修改就使用 kafka 默认值

6.启动 kafka

在 Kafka 目录下打开命令行终端,执行以下命令启动 Kafka 服务器:

bin/kafka-server-start.sh config/server.properties

启动完成
在这里插入图片描述

7.创建主题

在 Kafka 目录下打开命令行终端,执行以下命令创建一个主题

bin/kafka-topics.sh --create --topic mytopic --bootstrap-server localhost:9092 --partitions 1 --replication-factor 1

这将创建一个名为 mytopic 的主题,具有一个分区和一个副本因子。–partitions 分区数 --replication-factor 副本数

8.发布&消费消息

使用 Kafka 提供的命令行工具 kafka-console-producer.sh 发布消息

bin/kafka-console-producer.sh --topic mytopic --bootstrap-server localhost:9092

使用kafka-console-consumer.sh 消费消息。需要重新打开一个终端哦

bin/kafka-console-consumer.sh --topic mytopic --bootstrap-server localhost:9092 --from-beginning

在这里插入图片描述
两个终端消息就可以联动,从 producer 终端生成消息,consumer 终端消费消息。

kafka 单机安装完成,初学者先没有必要安装集群,后续会详细介绍 kafka 实践相关内容。

posted @ 2023-06-17 23:48  三哥无邪  阅读(73)  评论(0编辑  收藏  举报  来源