在现代分布式系统中,Kafka消息队列扮演着至关重要的角色。它能够高效地处理海量数据流,实现系统解耦、异步通信和日志聚合等功能。本教程将带你从零开始,在RockyLinux操作系统上完成Kafka消息队列配置,即使是刚接触Linux和消息中间件的小白也能轻松上手。
一、准备工作
在开始安装Kafka之前,我们需要确保系统环境满足以下条件:
一台运行 RockyLinux 8 或 9 的服务器(本教程以 RockyLinux 9 为例) 具有 sudo 权限的用户账户 Java 运行环境(Kafka 依赖 Java)二、安装Java环境
Kafka 是用 Scala 编写的,运行需要 Java 环境。我们使用 OpenJDK 11:
如果看到类似 # 更新系统软件包sudo dnf update -y# 安装 OpenJDK 11sudo dnf install java-11-openjdk -y# 验证 Java 版本java -version openjdk version "11.0.x"
的输出,说明 Java 安装成功。
三、下载并安装Apache Kafka
我们将从 Apache 官网下载最新稳定版的 Kafka(以 3.6.0 为例):
Kafka 依赖 ZooKeeper 来管理集群元数据(注意:Kafka 从 3.3+ 开始支持 KRaft 模式,但本教程仍使用传统 ZooKeeper 模式,适合初学者)。 ZooKeeper 启动后,即可启动 Kafka 服务: 现在,你的 RockyLinux Kafka消息队列配置 已经基本完成! 我们通过创建一个主题、发送消息和消费消息来验证 Kafka 是否运行正常。 1. 创建一个测试主题: 2. 启动生产者并发送消息: 输入几条测试消息(如 3. 启动消费者接收消息: 如果能看到你刚才发送的消息,恭喜你!Kafka消息队列安装成功! 为了确保系统重启后 Kafka 自动运行,我们可以创建 systemd 服务。 1. 创建 ZooKeeper 服务文件: 2. 创建 Kafka 服务文件: 3. 启用并启动服务: 通过本教程,你已经成功完成了 RockyLinux消息中间件 的基础搭建,并掌握了 Kafka单机部署教程 的核心步骤。虽然这是单机模式,但足以用于开发测试或学习。在生产环境中,建议配置多节点集群、调整 JVM 参数、启用安全认证等。 希望这篇详细教程能帮助你在 RockyLinux 上顺利配置 Kafka 消息队列。如有疑问,欢迎查阅官方文档或社区资源继续深入学习!# 切换到 /opt 目录(推荐存放第三方软件)cd /opt# 下载 Kafka(请根据官网最新版本调整链接)sudo wget https://downloads.apache.org/kafka/3.6.0/kafka_2.13-3.6.0.tgz# 解压文件sudo tar -xzf kafka_2.13-3.6.0.tgz# 重命名目录便于管理sudo mv kafka_2.13-3.6.0 kafka# 设置权限(可选)sudo chown -R $USER:$USER /opt/kafka 四、启动ZooKeeper服务
# 在后台启动 ZooKeeper/opt/kafka/bin/zookeeper-server-start.sh -daemon /opt/kafka/config/zookeeper.properties 五、启动Kafka服务
# 在后台启动 Kafka/opt/kafka/bin/kafka-server-start.sh -daemon /opt/kafka/config/server.properties 六、测试Kafka是否正常工作
/opt/kafka/bin/kafka-topics.sh --create \ --topic test-topic \ --bootstrap-server localhost:9092 \ --partitions 1 \ --replication-factor 1 /opt/kafka/bin/kafka-console-producer.sh \ --topic test-topic \ --bootstrap-server localhost:9092 Hello Kafka!
),按回车发送。/opt/kafka/bin/kafka-console-consumer.sh \ --topic test-topic \ --from-beginning \ --bootstrap-server localhost:9092 七、设置开机自启(可选但推荐)
sudo tee /etc/systemd/system/zookeeper.service <sudo tee /etc/systemd/system/kafka.service <sudo systemctl daemon-reloadsudo systemctl enable zookeepersudo systemctl enable kafkasudo systemctl start zookeepersudo systemctl start kafka 八、总结
