溫馨提示×

如何快速配置ubuntu kafka

小樊
44
2025-10-17 07:41:04
欄目: 智能運維

如何在Ubuntu上快速配置Apache Kafka

1. 準備工作

  • 確保Ubuntu系統已更新:sudo apt update && sudo apt upgrade -y
  • 確保系統內存≥4GB(Kafka最低要求),硬盤空間≥500GB(根據數據量調整)。

2. 安裝Java環境(Kafka依賴)

Kafka需要Java運行環境,推薦使用OpenJDK 11及以上版本:

sudo apt install openjdk-11-jdk -y
# 驗證Java安裝
java -version

輸出應顯示Java版本信息(如openjdk version "11.0.xx")。

3. 下載并解壓Kafka

從Apache Kafka官網下載最新穩定版本(如3.7.0),解壓至/opt目錄(系統級軟件推薦路徑):

wget https://downloads.apache.org/kafka/3.7.0/kafka_2.13-3.7.0.tgz
sudo tar -xzf kafka_2.13-3.7.0.tgz -C /opt
sudo mv /opt/kafka_2.13-3.7.0 /opt/kafka  # 重命名便于管理

創建Kafka專用用戶(提升安全性,避免root運行):

sudo useradd -m -s /bin/bash kafka
sudo passwd kafka  # 設置密碼
sudo chown -R kafka:kafka /opt/kafka  # 賦予用戶目錄所有權

切換至kafka用戶:sudo su - kafka。

4. 配置Kafka

進入Kafka配置目錄,編輯核心配置文件server.properties(關鍵參數說明見注釋):

nano ~/kafka/config/server.properties

修改以下核心配置:

# Broker唯一標識(集群中需唯一)
broker.id=0  
# 監聽地址(0.0.0.0允許遠程訪問,本地測試用localhost)
listeners=PLAINTEXT://:9092  
# 對外暴露的地址(遠程訪問需替換為服務器IP)
advertised.listeners=PLAINTEXT://your_server_ip:9092  
# 日志存儲目錄(需提前創建)
log.dirs=/home/kafka/kafka/data/kafka  
# Zookeeper連接地址(本地測試用localhost)
zookeeper.connect=localhost:2181  
# 開啟自動刪除過期Topic(可選,默認false)
delete.topic.enable=true  

保存并退出(Ctrl+OEnterCtrl+X)。

5. 配置Zookeeper(Kafka依賴)

Kafka使用Zookeeper進行集群管理,開發測試可使用Kafka自帶的Zookeeper:

# 創建Zookeeper數據目錄
mkdir -p ~/kafka/data/zookeeper
# 復制Zookeeper配置模板并修改
cp ~/kafka/config/zookeeper.properties ~/kafka/config/zookeeper.properties.bak
nano ~/kafka/config/zookeeper.properties

修改以下配置:

# 數據存儲目錄(需與上面創建的目錄一致)
dataDir=/home/kafka/kafka/data/zookeeper  
# 客戶端連接端口
clientPort=2181  
# 會話超時時間(毫秒)
tickTime=2000  

啟動Zookeeper:

~/kafka/bin/zookeeper-server-start.sh ~/kafka/config/zookeeper.properties &

驗證Zookeeper是否啟動(顯示LISTEN表示成功):

netstat -plnt | grep 2181

6. 啟動Kafka服務

啟動Kafka(后臺模式,避免占用終端):

~/kafka/bin/kafka-server-start.sh ~/kafka/config/server.properties &

驗證Kafka是否啟動(顯示LISTEN表示成功):

netstat -plnt | grep 9092

7. 測試Kafka功能

7.1 創建Topic

創建名為test的Topic(1個分區,1個副本,適合測試):

~/kafka/bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic test

查看所有Topic(確認test已創建):

~/kafka/bin/kafka-topics.sh --list --bootstrap-server localhost:9092

7.2 生產消息

啟動生產者,向test Topic發送消息:

~/kafka/bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test

輸入消息(如Hello, Kafka on Ubuntu!),按Ctrl+D結束輸入。

7.3 消費消息

啟動消費者,從test Topic接收消息:

~/kafka/bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning

應能看到生產者發送的消息。

注意事項

  • 生產環境中,需配置專用Zookeeper集群(而非自帶)、增加副本因子replication.factor≥2)、調整日志保留策略log.retention.hours)等。
  • 若需遠程訪問,需修改listenersadvertised.listeners為服務器IP,并開放防火墻端口(9092、2181)。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女