三、Kafka安装详细教程

这次带来了Kafka 集群部署与配置,手把手教你完成 kafka安装,从下载安装到环境配置,快速搭建 Kafka 运行环境。

前言

Apache Kafka 是一个分布式流处理平台,被广泛应用于大数据实时处理领域。本文将详细介绍如何在集群环境中部署 Kafka 4.0.1 版本。

在正式开始之前,请务必注意以下两点:

1.前置依赖:Kafka 强依赖于 ZooKeeper 来进行集群管理和元数据存储,虽然新版推出了 KRaft 模式,但很多传统部署仍在使用 ZK。如果你还没有搭建好 ZooKeeper 集群,请务必先移步阅读并完成《二、ZooKeeper 集群部署搭建》
2.操作范围:本文中涉及到的所有配置文件修改 (特别是 server.properties 中的特定参数),必须在你的多台虚拟机(本文以我自己的uhadoop01, uhadoop02, uhadoop03为例)上分别进行配置和修改,绝不是一台虚拟机就能解决的。

第一步:下载 Kafka 安装包

首先,我们需要从 Apache Kafka 官网下载对应版本的二进制安装包。

官网下载链接https://kafka.apache.org/community/downloads/

打开上述链接,向下滚动找到你需要的版本(本教程以最新的 4.0.1 版本为例)。

由于我们主要是运行 Kafka,而不是去编译它的源码,所以一定要选择 Binary download 下的链接。推荐选择 Scala 2.13 编译的版本。

点击下载 kafka_2.13-4.0.1.tgz 到你的本地,或者直接在服务器上使用 wget 命令下载。

第二步:解压与重命名

将下载好的压缩包上传到你的第一台虚拟机(例如 uhadoop01)的指定目录,本教程假设你将安装包放在了 /export/softwares/ 目录下。

1. 解压安装包

进入存放压缩包的目录,并将其解压到我们专门存放服务程序的 /export/server/ 目录下:

bash 复制代码
cd /export/softwares/
tar -zxvf kafka_2.13-4.0.1.tgz -C /export/server/

2. 重命名目录

为了后续配置环境变量和操作的方便,我们将解压后较长的目录名重命名为一个简短的名字 kafka

bash 复制代码
cd /export/server/
mv kafka_2.13-4.0.1/ kafka
ls

执行 ls 命令后,你应该能看到 kafka 目录已经和 hadoophive 等并列存在了。

第三步:修改 Kafka 核心配置文件

Kafka 的所有核心配置都在其安装目录下的 config/server.properties 文件中。

1. 进入配置目录并打开配置文件

bash 复制代码
cd /export/server/kafka/config/
vim server.properties

2. 配置数据存储路径 log.dirs

在文件中找到 log.dirs 配置项。Kafka 虽然叫流处理平台,但它会把消息数据持久化到磁盘上。这里配置的就是消息日志数据的存放目录。

将其修改为你规划的路径,例如:

properties 复制代码
log.dirs=/export/server/kafka/data

3. 配置网络监听 listenersadvertised.listeners

注意:如果你使用的是 KRaft 模式,这一步可能还会涉及到 controller 的配置。

在配置文件中找到 listenersadvertised.listeners

listeners:Kafka Broker 绑定的本地网卡地址和端口。
advertised.listeners:Broker 暴露给外部客户端(Producer/Consumer)连接的地址。

【关键注意】这里配置的 IP 或主机名(如 uhadoop01)必须根据你当前虚拟机的主机名进行更改!在 uhadoop02 上就必须写 uhadoop02

配置示例(以 uhadoop01 为例):

properties 复制代码
listeners=PLAINTEXT://uhadoop01:9092,CONTROLLER://uhadoop01:9093
advertised.listeners=PLAINTEXT://uhadoop01:9092,CONTROLLER://uhadoop01:9093

4. 配置集群仲裁投票节点 controller.quorum.voters

注意:此项配置通常出现在较新版本的 KRaft 模式中,如果是传统 ZK 模式,则是配置 zookeeper.connect

这里用于配置集群中的 Controller 节点列表。这一项在三台机器上配置内容是一样的

properties 复制代码
controller.quorum.voters=1@uhadoop01:9093,2@uhadoop02:9093,3@uhadoop03:9093


【再次提醒】完成 uhadoop01 的配置后,你需要将整个 kafka 文件夹分发到 uhadoop02uhadoop03。并在分发后,分别登录到另外两台机器,修改它们各自 server.properties 文件中的 node.id (通常 1, 2, 3 递增) 以及上面提到的 listenersadvertised.listeners 中的主机名!

第四步:创建数据存储目录

我们在 server.properties 中指定了 log.dirs=/export/server/kafka/data,但这个目录在刚解压时是不存在的,我们需要手动创建它。(注意:三台机器都要执行此操作!

bash 复制代码
mkdir -p /export/server/kafka/data


把修改后的全部传给另外两台虚拟机

bash 复制代码
cd /export/server/
scp -r kafka uhadoop02:$PWD

第五步:配置系统环境变量

为了能在任何路径下直接运行 Kafka 的各种脚本命令(如 kafka-topics.sh),我们需要将 Kafka 的 bin 目录加入到系统的 PATH 环境变量中。(注意:三台机器都要配置环境变量!

  1. 打开环境变量配置文件:
bash 复制代码
vim /etc/profile
  1. 在文件末尾添加以下内容:
bash 复制代码
# KAFKA_HOME
export KAFKA_HOME=/export/server/kafka
export PATH=$PATH:$KAFKA_HOME/bin
  1. 使环境变量配置立即生效:
bash 复制代码
source /etc/profile

第六步:验证安装

最后,我们需要验证一下环境变量是否配置成功,以及 Kafka 是否能被系统识别。

在终端任意路径下,输入以下命令查看 Kafka 的相关工具版本:

bash 复制代码
kafka-topics.sh --version

如果终端成功输出了你安装的 Kafka 版本号(例如 4.0.1),那么恭喜你,Kafka 的基础部署和配置已经大功告成!

接下来,你就可以去格式化存储目录并启动集群了。

定位上文

日期:2025年3月16日

专栏:Kafka

相关推荐
雷焰财经2 小时前
破解差异化转型之困:从宇信科技“双龙头”项目看其全栈赋能之道
大数据·人工智能·科技
sxgzzn2 小时前
分布式光伏管理系统:实现多场景电站的集中监控与智能运维
运维·分布式
ajassi20003 小时前
Gitlab和Github的用途和指令
大数据·elasticsearch·搜索引擎
shuangrenlong3 小时前
androidstudio的changelist显示问题
大数据·elasticsearch·搜索引擎
曾阿伦3 小时前
遍历 ES 节点校验分词:分布式集群分词一致性保障实践
网络·分布式·elasticsearch
geneculture3 小时前
协同智能视域AI大模型的文明跃迁价值:普惠HI跃升的契机
大数据·人工智能·机器学习·数据挖掘·融智学的重要应用·哲学与科学统一性·融智时代(杂志)
qyresearch_3 小时前
无菌食品包装:保障食品安全的科技防线与市
大数据·人工智能·科技
我要用代码向我喜欢的女孩表白3 小时前
spark介绍
大数据·分布式·spark
yumgpkpm3 小时前
OpenClaw(养龙虾) +关于Hadoop hive的Skills(CLoudera CDH、CDP)
大数据·数据仓库·hive·hadoop·分布式·zookeeper·kafka