系列博客专栏:
- SpringBoot与微服务实践系列博客
- Java互联网高级培训教程
一、环境准备
1. 操作系统要求
Kafka 可以在多种 Linux 发行版上运行,本文以 CentOS 7 为例,其他发行版步骤类似,只需调整包管理命令。
2. Java 环境要求
Kafka 基于 Java 开发,需安装 JDK 8 或以上版本。
java -version
若已安装,将输出示例:
openjdk version "1.8.0_362"
OpenJDK Runtime Environment (build 1.8.0_362-b09)
OpenJDK 64-Bit Server VM (build 25.362-b09, mixed mode)
二、安装 JDK
1. 下载 JDK
- Oracle 官网:https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html
- 或 OpenJDK 官网下载 Linux 版本
- 示例(OpenJDK 8):
wget https://download.java.net/openjdk/jdk8u41/ri/openjdk-8u41-b04-linux-x64-14_jan_2020.tar.gz
2. 解压安装包
mkdir -p /usr/local/java
tar -zxvf openjdk-8u41-b04-linux-x64-14_jan_2020.tar.gz -C /usr/local/java
3. 配置环境变量
在 /etc/profile
末尾追加:
export JAVA_HOME=/usr/local/java/jdk1.8.0_41
export PATH=$PATH:$JAVA_HOME/bin
使配置生效:
source /etc/profile
4. 验证安装
java -version
三、安装并配置 ZooKeeper
Kafka 依赖 ZooKeeper 管理集群,建议独立安装。
1. 下载 ZooKeeper
- 官网:https://zookeeper.apache.org/releases.html
- 示例版本:3.8.4
wget https://downloads.apache.org/zookeeper/zookeeper-3.8.4/apache-zookeeper-3.8.4-bin.tar.gz
2. 解压安装包
mkdir -p /usr/local/zookeeper
tar -zxvf apache-zookeeper-3.8.4-bin.tar.gz -C /usr/local/zookeeper
3. 配置 ZooKeeper
(1) 创建数据与日志目录
mkdir -p /usr/local/zookeeper/data
mkdir -p /usr/local/zookeeper/logs
(2) 修改配置文件
cd /usr/local/zookeeper/apache-zookeeper-3.8.4-bin/conf
cp zoo_sample.cfg zoo.cfg
编辑 zoo.cfg
:
dataDir=/usr/local/zookeeper/data
dataLogDir=/usr/local/zookeeper/logs
clientPort=2181
(3) 集群配置(可选)
单机可跳过。集群模式需添加:
server.1=192.168.1.101:2888:3888
server.2=192.168.1.102:2888:3888
server.3=192.168.1.103:2888:3888
并在每个节点的 dataDir
中创建 myid
:
echo 1 > /usr/local/zookeeper/data/myid
(4) 配置环境变量
echo 'export ZOOKEEPER_HOME=/usr/local/zookeeper/apache-zookeeper-3.8.4-bin' >> /etc/profile
echo 'export PATH=$PATH:$ZOOKEEPER_HOME/bin' >> /etc/profile
source /etc/profile
4. 启动与验证
zkServer.sh start
zkServer.sh status # 单机显示 Mode: standalone
zkServer.sh stop
四、安装 Kafka
1. 下载 Kafka
- 官网:https://kafka.apache.org/downloads
- 示例版本:3.6.2(Scala 2.12)
wget https://archive.apache.org/dist/kafka/3.6.2/kafka_2.12-3.6.2.tgz
2. 解压安装包
mkdir -p /usr/local/kafka
tar -zxvf kafka_2.12-3.6.2.tgz -C /usr/local/kafka
3. 配置 Kafka
编辑 /usr/local/kafka/kafka_2.12-3.6.2/config/server.properties
:
broker.id=0
listeners=PLAINTEXT://your_ip:9092
log.dirs=/usr/local/kafka/kafka-logs
zookeeper.connect=localhost:2181
创建日志目录:
mkdir -p /usr/local/kafka/kafka-logs
五、启动 Kafka 服务
1. 启动顺序
确保 ZooKeeper 已启动:
zkServer.sh start
启动 Kafka:
./usr/local/kafka/kafka_2.12-3.6.2/bin/kafka-server-start.sh -daemon /usr/local/kafka/kafka_2.12-3.6.2/config/server.properties
2. 验证进程
jps
输出应包含:
QuorumPeerMain
Kafka
六、停止服务
# 停止 Kafka
./usr/local/kafka/kafka_2.12-3.6.2/bin/kafka-server-stop.sh# 停止 ZooKeeper
zkServer.sh stop
七、测试 Kafka
1. 创建主题
./usr/local/kafka/kafka_2.12-3.6.2/bin/kafka-topics.sh \--create \--topic test-topic \--bootstrap-server localhost:9092 \--replication-factor 1 \--partitions 1
2. 查看主题列表
./usr/local/kafka/kafka_2.12-3.6.2/bin/kafka-topics.sh --list --bootstrap-server localhost:9092
3. 发送消息
./usr/local/kafka/kafka_2.12-3.6.2/bin/kafka-console-producer.sh \--bootstrap-server localhost:9092 \--topic test-topic
输入内容后按 Enter 发送。
4. 消费消息(新终端)
./usr/local/kafka/kafka_2.12-3.6.2/bin/kafka-console-consumer.sh \--bootstrap-server localhost:9092 \--topic test-topic \--from-beginning
八、总结
通过以上步骤,已在 Linux 系统成功独立安装配置了 ZooKeeper 与 Kafka。
后续可根据需求扩展为集群、调整性能参数或集成其他组件。
祝你顺利搭建 Kafka 消息系统!