这次带来了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/ 目录下:
cd /export/softwares/ tar -zxvf kafka_2.13-4.0.1.tgz -c /export/server/

2. 重命名目录:
为了后续配置环境变量和操作的方便,我们将解压后较长的目录名重命名为一个简短的名字 kafka:
cd /export/server/ mv kafka_2.13-4.0.1/ kafka ls
执行 ls 命令后,你应该能看到 kafka 目录已经和 hadoop、hive 等并列存在了。

第三步:修改 kafka 核心配置文件
kafka 的所有核心配置都在其安装目录下的 config/server.properties 文件中。
1. 进入配置目录并打开配置文件:
cd /export/server/kafka/config/ vim server.properties

2. 配置数据存储路径 log.dirs:
在文件中找到 log.dirs 配置项。kafka 虽然叫流处理平台,但它会把消息数据持久化到磁盘上。这里配置的就是消息日志数据的存放目录。
将其修改为你规划的路径,例如:
log.dirs=/export/server/kafka/data

3. 配置网络监听 listeners 和 advertised.listeners:
注意:如果你使用的是 kraft 模式,这一步可能还会涉及到 controller 的配置。
在配置文件中找到 listeners 和 advertised.listeners。
listeners:kafka broker 绑定的本地网卡地址和端口。advertised.listeners:broker 暴露给外部客户端(producer/consumer)连接的地址。
【关键注意】这里配置的 ip 或主机名(如 uhadoop01)必须根据你当前虚拟机的主机名进行更改!在 uhadoop02 上就必须写 uhadoop02!
配置示例(以 uhadoop01 为例):
listeners=plaintext://uhadoop01:9092,controller://uhadoop01:9093 advertised.listeners=plaintext://uhadoop01:9092,controller://uhadoop01:9093

4. 配置集群仲裁投票节点 controller.quorum.voters:
注意:此项配置通常出现在较新版本的 kraft 模式中,如果是传统 zk 模式,则是配置
zookeeper.connect
这里用于配置集群中的 controller 节点列表。这一项在三台机器上配置内容是一样的。
controller.quorum.voters=1@uhadoop01:9093,2@uhadoop02:9093,3@uhadoop03:9093

【再次提醒】完成 uhadoop01 的配置后,你需要将整个 kafka 文件夹分发到 uhadoop02 和 uhadoop03。并在分发后,分别登录到另外两台机器,修改它们各自 server.properties 文件中的 node.id (通常 1, 2, 3 递增) 以及上面提到的 listeners 和 advertised.listeners 中的主机名!
第四步:创建数据存储目录
我们在 server.properties 中指定了 log.dirs=/export/server/kafka/data,但这个目录在刚解压时是不存在的,我们需要手动创建它。(注意:三台机器都要执行此操作!)
mkdir -p /export/server/kafka/data

把修改后的全部传给另外两台虚拟机
cd /export/server/ scp -r kafka uhadoop02:$pwd

第五步:配置系统环境变量
为了能在任何路径下直接运行 kafka 的各种脚本命令(如 kafka-topics.sh),我们需要将 kafka 的 bin 目录加入到系统的 path 环境变量中。(注意:三台机器都要配置环境变量!)
- 打开环境变量配置文件:
vim /etc/profile
- 在文件末尾添加以下内容:
# kafka_home export kafka_home=/export/server/kafka export path=$path:$kafka_home/bin

- 使环境变量配置立即生效:
source /etc/profile
第六步:验证安装
最后,我们需要验证一下环境变量是否配置成功,以及 kafka 是否能被系统识别。
在终端任意路径下,输入以下命令查看 kafka 的相关工具版本:
kafka-topics.sh --version
如果终端成功输出了你安装的 kafka 版本号(例如 4.0.1),那么恭喜你,kafka 的基础部署和配置已经大功告成!

接下来,你就可以去格式化存储目录并启动集群了。
到此这篇关于apache kafka安装详细教程的文章就介绍到这了,更多相关kafka安装内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论