系列博客專欄:
- 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 消息系統!