溫馨提示×

kafka在ubuntu上怎么設置

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

1. 準備工作

  • 系統要求:Ubuntu 16.04及以上版本;內存≥4GB;硬盤≥500GB;Java 8及以上;Zookeeper 3.4及以上。
  • 網絡要求:確保服務器能訪問外網(用于下載安裝包)。

2. 安裝Java環境 Kafka依賴Java運行,需先安裝OpenJDK 8:

sudo apt update
sudo apt install openjdk-8-jdk
# 驗證安裝
java -version

若輸出Java版本信息(如openjdk version "1.8.0_392"),則說明安裝成功。

3. 安裝與配置Zookeeper Kafka通過Zookeeper管理集群元數據,需先安裝Zookeeper:

# 下載并解壓Zookeeper(以3.6.3為例)
wget https://downloads.apache.org/zookeeper/zookeeper-3.6.3/zookeeper-3.6.3.tar.gz
tar -xzvf zookeeper-3.6.3.tar.gz
sudo mv zookeeper-3.6.3 /opt/zookeeper

# 創建數據目錄并授權
sudo mkdir -p /var/lib/zookeeper
sudo chown -R $(whoami):$(whoami) /opt/zookeeper /var/lib/zookeeper

# 配置Zookeeper
sudo cat > /opt/zookeeper/conf/zoo.cfg << EOF
tickTime=2000
dataDir=/var/lib/zookeeper
clientPort=2181
EOF

# 啟動Zookeeper
/opt/zookeeper/bin/zkServer.sh start
# 驗證啟動(檢查2181端口)
sudo netstat -plnt | grep 2181

若輸出包含0.0.0.0:2181,則Zookeeper啟動成功。

4. 安裝Kafka 下載并解壓Kafka(以3.5.2為例):

# 下載并解壓Kafka
wget https://downloads.apache.org/kafka/3.5.2/kafka_2.12-3.5.2.tgz
tar -xzvf kafka_2.12-3.5.2.tgz
sudo mv kafka_2.12-3.5.2 /opt/kafka

# 創建日志目錄并授權
sudo mkdir -p /var/lib/kafka
sudo chown -R $(whoami):$(whoami) /opt/kafka /var/lib/kafka

5. 配置Kafka 編輯Kafka配置文件server.properties(位于/opt/kafka/config/):

sudo nano /opt/kafka/config/server.properties

修改以下關鍵參數:

# Broker唯一標識(集群中需唯一)
broker.id=0
# 監聽地址(單機用localhost,集群用服務器IP)
listeners=PLAINTEXT://localhost:9092
# 日志存儲目錄
log.dirs=/var/lib/kafka
# Zookeeper連接地址
zookeeper.connect=localhost:2181
# 可選:日志保留時間(小時)
log.retention.hours=168  # 7天

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

6. 啟動Kafka

# 啟動Kafka(后臺模式)
/opt/kafka/bin/kafka-server-start.sh -daemon /opt/kafka/config/server.properties
# 驗證啟動(檢查9092端口)
sudo netstat -plnt | grep 9092

若輸出包含0.0.0.0:9092,則Kafka啟動成功。

7. 測試Kafka功能

  • 創建Topic
    /opt/kafka/bin/kafka-topics.sh --create --zookeeper localhost:2181 \
      --replication-factor 1 --partitions 1 --topic test
    
  • 列出Topic
    /opt/kafka/bin/kafka-topics.sh --list --zookeeper localhost:2181
    
  • 啟動生產者(向test Topic發送消息):
    /opt/kafka/bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
    
    輸入消息(如Hello Kafka),按Ctrl+C結束。
  • 啟動消費者(接收test Topic的消息):
    /opt/kafka/bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 \
      --topic test --from-beginning
    
    應能看到生產者發送的消息。

8. 可選:配置開機自啟動 創建systemd服務文件/etc/systemd/system/kafka.service

sudo nano /etc/systemd/system/kafka.service

添加以下內容:

[Unit]
Description=Kafka Service
After=network.target zookeeper.service

[Service]
Type=forking
Environment="JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64"
ExecStart=/opt/kafka/bin/zookeeper-server-start.sh /opt/zookeeper/config/zoo.cfg
ExecStartPost=/opt/kafka/bin/kafka-server-start.sh /opt/kafka/config/server.properties
ExecStop=/opt/kafka/bin/kafka-server-stop.sh
ExecStopPost=/opt/zookeeper/bin/zkServer.sh stop
Restart=on-failure

[Install]
WantedBy=multi-user.target

保存退出后,執行以下命令啟用并啟動服務:

sudo systemctl daemon-reload
sudo systemctl start kafka
sudo systemctl enable kafka

通過sudo systemctl status kafka可查看服務狀態。

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