Apache Kafka單節(jié)點極速部署指南及搭建開發(fā)單節(jié)點環(huán)境的操作步驟
Apache Kafka單節(jié)點極速部署指南:10分鐘搭建開發(fā)單節(jié)點環(huán)境
Kafka簡介:Apache Kafka是由LinkedIn開發(fā)并捐贈給Apache基金會的分布式流處理平臺,現已成為實時數據管道和流應用領域的行業(yè)標準。它基于高吞吐、低延遲的設計理念,能夠輕松處理每秒百萬級消息傳輸,具備水平擴展、數據持久化、高容錯等核心特性。Kafka廣泛應用于日志聚合、實時監(jiān)控、事件溯源、消息隊列等場景,是大數據生態(tài)中連接傳統(tǒng)數據庫與流處理引擎(如Flink、Spark)的關鍵組件,被騰訊云、Netflix、Uber等頂級互聯網企業(yè)深度應用于核心業(yè)務系統(tǒng)。
一、環(huán)境準備與安裝
1. 安裝 Java(詳細步驟)
# CentOS sudo yum install -y java-1.8.0-openjdk-devel # Ubuntu sudo apt update && sudo apt install -y openjdk-8-jdk # 驗證安裝 java -version # 應輸出類似 "openjdk version 1.8.0_382"



2. 下載并解壓 Kafka
wget https://downloads.apache.org/kafka/3.6.1/kafka_2.13-3.6.1.tgz tar -xzf kafka_2.13-3.6.1.tgz mv kafka_2.13-3.6.1 /opt/kafka # 建議移動到標準化目錄 cd /opt/kafka
如果服務器網絡不佳可在Kafka官網手動下載并上傳至服務器:
下載地址:Apache Kafka



二、配置文件詳解
1. ZooKeeper 配置
config/zookeeper.properties
# 數據存儲目錄(重要:生產環(huán)境需改為持久化路徑,如 /var/lib/zookeeper) dataDir=/tmp/zookeeper # 客戶端連接端口 clientPort=2181 # 最大客戶端連接數(0 表示無限制) maxClientCnxns=0 # 集群配置(單節(jié)點無需配置) # server.1=zk-node1:2888:3888 # server.2=zk-node2:2888:3888

2. Kafka Broker 配置
config/server.properties
# Broker 的唯一標識(集群中每個節(jié)點必須不同) broker.id=0 # 監(jiān)聽地址和協(xié)議(生產環(huán)境建議用具體IP,如 PLAINTEXT://192.168.1.100:9092) listeners=PLAINTEXT://:9092 # Kafka 日志存儲目錄(生產環(huán)境需改為持久化路徑,如 /var/lib/kafka-logs) log.dirs=/tmp/kafka-logs # 每個 Topic 的默認分區(qū)數(影響并行度) num.partitions=1 # ZooKeeper 連接地址(集群用逗號分隔,如 zk1:2181,zk2:2181) zookeeper.connect=localhost:2181 # 其他重要參數(可選) # 日志保留時間(小時) log.retention.hours=168 # 單個日志文件最大大小(字節(jié)) log.segment.bytes=1073741824 # 網絡線程數 num.network.threads=3 # IO 線程數 num.io.threads=8

三、配置為系統(tǒng)服務(Systemd)
1. 創(chuàng)建 ZooKeeper 服務文件
sudo vim /etc/systemd/system/zookeeper.service
內容如下:
[Unit] Description=Apache ZooKeeper Service After=network.target [Service] Type=simple User=kafka # 建議創(chuàng)建專用用戶(見下方說明) Group=kafka ExecStart=/opt/kafka/bin/zookeeper-server-start.sh /opt/kafka/config/zookeeper.properties ExecStop=/opt/kafka/bin/zookeeper-server-stop.sh Restart=on-failure RestartSec=10s [Install] WantedBy=multi-user.target
2. 創(chuàng)建 Kafka 服務文件
sudo vim /etc/systemd/system/kafka.service
內容如下:
[Unit] Description=Apache Kafka Service After=zookeeper.service [Service] Type=simple User=kafka Group=kafka ExecStart=/opt/kafka/bin/kafka-server-start.sh /opt/kafka/config/server.properties ExecStop=/opt/kafka/bin/kafka-server-stop.sh Restart=on-failure RestartSec=10s [Install] WantedBy=multi-user.target
3. 創(chuàng)建專用用戶和目錄(增強安全性)
sudo useradd -r -s /bin/false kafka
sudo mkdir -p /var/lib/{zookeeper,kafka-logs}
sudo chown -R kafka:kafka /var/lib/{zookeeper,kafka-logs} /opt/kafka4. 修改配置文件中的持久化路徑
修改 zookeeper.properties:
dataDir=/var/lib/zookeeper
修改 server.properties:
log.dirs=/var/lib/kafka-logs
5. 啟用服務
sudo systemctl daemon-reload sudo systemctl enable --now zookeeper sudo systemctl enable --now kafka # 檢查狀態(tài) sudo systemctl status zookeeper kafka

*四、驗證服務
1. 功能測試(詳細命令)
# 創(chuàng)建 Topic(明確指定分區(qū)和副本) /opt/kafka/bin/kafka-topics.sh --create \ --topic test-topic \ --bootstrap-server localhost:9092 \ --partitions 3 \ --replication-factor 1 # 生產消息(輸入多行消息后按 Ctrl+C 退出) /opt/kafka/bin/kafka-console-producer.sh \ --topic test-topic \ --bootstrap-server localhost:9092 # 消費消息(新終端執(zhí)行) /opt/kafka/bin/kafka-console-consumer.sh \ --topic test-topic \ --bootstrap-server localhost:9092 \ --from-beginning
測試效果如圖:



五、關鍵配置項深度解析
| 配置項 | 作用說明 | 生產環(huán)境建議值 |
|---|---|---|
broker.id | Broker 的唯一標識,集群中必須唯一 | 數字遞增(0,1,2…) |
listeners | Broker 監(jiān)聽的網絡地址和協(xié)議 | 使用服務器內網IP,如 PLAINTEXT://192.168.1.100:9092 |
log.dirs | Kafka 數據存儲目錄,多個目錄用逗號分隔可提升性能 | 掛載獨立磁盤,如 /data/kafka-logs |
zookeeper.connect | ZooKeeper 集群地址,格式為 host1:port1,host2:port2 | 至少3節(jié)點集群 |
num.partitions | 新建 Topic 的默認分區(qū)數(影響并行處理能力) | 根據業(yè)務需求設置(通常3-10) |
log.retention.hours | 消息保留時間 | 按業(yè)務需求(如 168=7天) |
default.replication.factor | 新建 Topic 的默認副本數(高可用關鍵) | 至少2,集群節(jié)點數≥副本數 |
六、故障排查指南
1. 查看服務日志
# ZooKeeper 日志 journalctl -u zookeeper -f # Kafka 日志 journalctl -u kafka -f
2. 端口占用檢查
sudo netstat -tlnp | grep -E '2181|9092'
3. 文件權限修復
sudo chown -R kafka:kafka /var/lib/{zookeeper,kafka-logs}到此這篇關于Apache Kafka單節(jié)點極速部署指南及搭建開發(fā)單節(jié)點環(huán)境的操作步驟的文章就介紹到這了,更多相關Apache Kafka單節(jié)點部署內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
CentOS7.2安裝MySql5.7并開啟遠程連接授權的教程
這篇文章主要介紹了CentOS7.2安裝MySql5.7并開啟遠程連接授權的教程,本文圖文并茂給大家介紹的非常詳細,具有一定的參考借鑒價值 ,需要的朋友可以參考下2019-07-07
centos8使用Docker部署Django項目的詳細教程
解讀現代Linux發(fā)行版為何忽略Shell腳本的SUID位

