CentOS 6.5 是一款经典的 Linux 发行版,尽管其生命周期已结束,但在某些遗留系统或特定环境中仍有应用,Kafka 作为一款高性能的分布式消息队列系统,广泛应用于大数据领域,本文将详细介绍在 CentOS 6.5 系统上安装和配置 Kafka 的完整步骤,包括环境准备、依赖安装、Kafka 部署及基础测试,确保用户能够顺利完成搭建。

环境准备与依赖安装
在开始安装 Kafka 之前,需要确保系统满足基本要求并安装必要的依赖包,CentOS 6.5 默认的软件源可能较旧,建议先更新系统并安装开发工具,执行以下命令更新系统并安装基础依赖:
sudo yum update -y sudo yum groupinstall "Development Tools" -y sudo yum install wget java-1.8.0-openjdk-devel -y
Kafka 依赖 Java 运行环境,推荐使用 OpenJDK 1.8 或更高版本,安装完成后,可通过 java -version 验证 Java 是否正常工作,Kafka 依赖 ZooKeeper 进行集群协调,因此需要单独安装 ZooKeeper 或使用 Kafka 自带的脚本管理。
下载并解压 Kafka
从 Apache 官方网站下载 Kafka 二进制包,选择与系统兼容的稳定版本,以 Kafka 2.8.0 为例,执行以下命令下载并解压:
wget https://archive.apache.org/dist/kafka/2.8.0/kafka_2.12-2.8.0.tgz tar -xzf kafka_2.12-2.8.0.tgz mv kafka_2.12-2.8.0 /usr/local/kafka cd /usr/local/kafka
解压后,Kafka 的核心文件位于 /usr/local/kafka 目录下,包含配置文件、脚本和日志目录,建议将此目录权限设置为当前用户,避免后续操作权限问题:
sudo chown -R $USER:$USER /usr/local/kafka
配置 Kafka 服务器
Kafka 的配置文件位于 config/server.properties,需要根据实际需求修改关键参数,以下是核心配置项说明:
broker.id:每个 Kafka 节点的唯一标识,默认为 0,集群中需确保唯一。listeners:监听地址和端口,默认为PLAINTEXT://:9092,可根据网络环境修改。log.dirs:日志存储路径,默认为/tmp/kafka-logs,建议修改为专用目录如/var/log/kafka。zookeeper.connect:ZooKeeper 连接地址,默认为localhost:2181,若使用外部 ZooKeeper 需修改为对应地址。
编辑配置文件:
vi config/server.properties
修改完成后,创建日志目录并设置权限:

sudo mkdir -p /var/log/kafka sudo chown $USER:$USER /var/log/kafka
启动 ZooKeeper 与 Kafka 服务
Kafka 依赖 ZooKeeper,需先启动 ZooKeeper 服务,Kafka 提供了内置的 ZooKeeper 脚本,适用于单机测试环境,执行以下命令启动 ZooKeeper:
bin/zookeeper-server-start.sh -daemon config/zookeeper.properties
等待几秒后,验证 ZooKeeper 是否启动成功:
bin/zookeeper-shell.sh localhost:2181 get /broker/ids/0
若返回节点信息,表示 ZooKeeper 正常运行,接着启动 Kafka 服务:
bin/kafka-server-start.sh -daemon config/server.properties
通过 jps 命令检查进程,若出现 Kafka 和 QuorumPeerMain 进程,说明服务启动成功。
创建与测试 Kafka 主题
Kafka 通过主题(Topic)进行消息管理,可使用命令行工具创建测试主题,例如创建名为 test-topic 的主题,分区数为 1,副本数为 1:
bin/kafka-topics.sh --create --topic test-topic --bootstrap-server localhost:9092 --partitions 1 --replication-factor 1
创建后,可通过以下命令查看主题列表:
bin/kafka-topics.sh --list --bootstrap-server localhost:9092
测试消息生产与消费:打开两个终端,分别运行生产者和消费者命令,在生产者终端输入消息,消费者终端应实时接收:

# 生产者 bin/kafka-console-producer.sh --topic test-topic --bootstrap-server localhost:9092 # 消费者 bin/kafka-console-consumer.sh --topic test-topic --from-beginning --bootstrap-server localhost:9092
常见问题与故障排查
在安装和使用过程中,可能会遇到端口占用、权限错误或连接超时等问题,可通过以下方式排查:
- 端口冲突:使用
netstat -tuln | grep 9092检查端口是否被占用,修改server.properties中的listeners参数。 - 权限问题:确保日志目录和配置文件对当前用户可写,检查
chown权限设置。 - ZooKeeper 连接失败:确认
zookeeper.connect配置正确,检查防火墙是否放行 2181 端口。
相关问答 FAQs
问题 1:如何停止 Kafka 和 ZooKeeper 服务?
解答:使用以下命令停止服务:
bin/kafka-server-stop.sh bin/zookeeper-server-stop.sh
若脚本无效,可通过 jps 查找进程 ID 并使用 kill -9 强制终止。
问题 2:CentOS 6.5 如何配置 Kafka 开机自启?
解答:可通过 init.d 脚本或 systemd 实现,以 init.d 为例,创建 /etc/init.d/kafka 脚本并添加启动/停止逻辑,然后执行:
sudo chkconfig --add kafka sudo chkconfig kafka on
重启系统后,Kafka 将自动启动。