从0到1上手Kafka:开启分布式消息处理之旅-五、Kafka 的安装与配置

时间:2025-05-14 19:20:09

5.1 环境准备

在安装 Kafka 之前,首先需要确保系统中已经安装了 Java 环境,因为 Kafka 是基于 Java 开发的,它依赖 Java 运行时环境(JRE)来执行。Kafka 对 Java 版本有一定的要求,建议安装 Java 8 及以上版本。你可以通过以下步骤来检查系统中是否已经安装了 Java 以及查看 Java 的版本:在命令行中输入“java -version”,如果系统已经安装了 Java,会显示 Java 的版本信息;如果未安装,则需要先安装 Java。

Java 的下载地址为:Oracle Java 下载,你可以根据自己的操作系统选择对应的 Java 安装包进行下载和安装。在安装过程中,按照安装向导的提示进行操作即可,安装完成后,还需要配置 Java 的环境变量,将 Java 的安装路径添加到系统的“PATH”环境变量中,以便在命令行中能够正确找到 Java 命令。

5.2 安装步骤

首先,访问 Apache Kafka 官方网站(https://kafka.apache.org/downloads)下载最新版本的 Kafka 二进制文件。

下载完成后,上传到服务器后进行解压:

tar -zxvf kafka_2.12-3.8.0.tgz -C /export/server

配置 Kafka 的软链接:

ln -s /export/server/kafka_2.12-3.8.0 /export/server/kafka

配置 KAFKA_HOME 环境变量,以及将$KAFKA_HOME/bin文件夹加入PATH环境变量中

vim /etc/profile

尾部添加如下:

export KAFKA_HOME=/export/server/kafka
export PATH=:$PATH:${KAFKA_HOME}

生效环境变量:

source /etc/profile

在Kafka的 config 目录下存在相关的配置信息——本次我们只想让Kafka快速启动起来只关注 server.properties 文件即可:

cd ${KAFKA_HOME}/config
ls
#connect-console-sink.properties    connect-file-source.properties   consumer.properties  server.properties
#connect-console-source.properties  connect-log4j.properties         kraft                tools-log4j.properties
#connect-distributed.properties     connect-mirror-maker.properties  log4j.properties     trogdor.conf
#connect-file-sink.properties       connect-standalone.properties    producer.properties  zookeeper.properties

打开配置文件,并主要注意以下几个配置:

vim server.properties

broker.id=0 #kafka服务节点的唯一标识,这里是单机不用修改
#listeners = PLAINTEXT://your.host.name:9092  别忘了设置成自己的主机名
listeners=PLAINTEXT://SHENYANG:9092 #kafka底层监听的服务地址,注意是使用主机名,不是ip。
# log.dirs 指定的目录 kafka启动时可以自动创建,因此不要忘了让kafka可以有读写这个目录的权限。
log.dirs=/export/server/kafka/data ##kafka的分区以日志的形式存储在集群中(其实就是broker数据存储的目录)
# The minimum age of a log file to be eligible for deletion due to age
log.retention.hours=168 #日志的留存策略,默认168小时也就是一周
# zookeeper 的连接地址 ,别忘了设置成自己的主机名,单机情况下可以使用 localhost
zookeeper.connect=SHENYANG:2181

上述配置完成后就可以在单机环境下成功启动 Kafka了。

./bin/kafka-server-start.sh -daemon config/server.properties #后台启动kafka

使用 jps 查看是否成功启动kafka:

jps
34843 QuorumPeerMain
21756 Jps
116076 Kafka

单机启动完成。

5.3 常见问题及解决

端口冲突:如果在启动 Kafka 或 Zookeeper 时提示端口被占用,比如常见的 Zookeeper 端口 2181 或 Kafka 的 9092 端口被占用。可以使用命令“netstat -ano | findstr : 端口号”(在 Windows 系统中)或“lsof -i: 端口号”(在 Linux 系统中)来查看占用该端口的进程,然后根据进程信息关闭占用端口的程序,或者修改 Kafka 或 Zookeeper 的配置文件,将端口号改为其他未被占用的端口。

配置错误:如果在启动过程中出现因为配置文件错误导致的问题,比如配置文件中的参数拼写错误、格式不正确等。需要仔细检查“config/server.properties”和“config/zookeeper.properties”文件中的各项配置,确保参数的正确性和格式的规范性。例如,如果在配置 Zookeeper 连接地址时,地址或端口写错,就会导致 Kafka 无法连接到 Zookeeper,从而启动失败。

Java 环境问题:如果系统中没有正确安装 Java 环境或者 Java 环境变量配置不正确,会导致 Kafka 无法启动。需要确保已经正确安装了 Java 8 及以上版本,并且 Java 环境变量已经正确配置。可以在命令行中输入“java -version”来验证 Java 环境是否正常。