在Ubuntu上配置Kafka時,有幾個關鍵點需要注意:
Kafka是用Java編寫的,因此需要安裝Java運行環境。推薦安裝OpenJDK 8或更高版本。
sudo apt update
sudo apt install openjdk-8-jdk
java -version
Kafka依賴于Zookeeper進行集群管理和元數據存儲。需要安裝并配置Zookeeper。
wget https://archive.apache.org/dist/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz
tar xvf zookeeper-3.4.6.tar.gz
sudo mv zookeeper-3.4.6 /usr/local/zookeeper
編輯 /usr/local/zookeeper/conf/zoo.cfg 文件,設置 dataDir 和 dataLogDir 為Zookeeper的數據和日志存儲路徑,設置 clientPort 為Zookeeper的客戶端連接端口(默認為2181)。
解壓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 /usr/local/kafka
編輯Kafka的配置文件 server.properties,設置以下關鍵配置項:
broker.id: 每個Kafka broker的唯一標識符。listeners: Kafka broker的監聽地址和端口。log.dirs: Kafka日志文件的存儲目錄。zookeeper.connect: Zookeeper的連接地址。sudo vi /usr/local/kafka/config/server.properties
需要開放Kafka使用的端口(如9092、9093等)。
sudo ufw allow 9092
sudo ufw allow 9093
sudo ufw reload
啟動Zookeeper和Kafka服務。
sudo /usr/local/zookeeper/bin/zkServer.sh start
sudo /usr/local/kafka/bin/kafka-server-start.sh /usr/local/kafka/config/server.properties
使用Kafka提供的命令行工具驗證安裝是否成功。
sudo /usr/local/kafka/bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
sudo /usr/local/kafka/bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
sudo /usr/local/kafka/bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning
確保 server.properties 文件中的配置正確無誤,特別是 broker.id、listeners、log.dirs 和 zookeeper.connect。如果使用KRaft模式,需要生成集群ID并在所有節點上執行相關命令。
選擇合適的Kafka版本,并注意版本之間的差異,特別是在命令參數和API調用方面。
確保服務器有足夠的資源(如內存和磁盤空間),以避免啟動失敗或性能問題。
考慮Kafka的安全性,如配置SSL/TLS、設置訪問控制等。
以上就是在Ubuntu上配置Kafka時需要注意的關鍵點。在配置過程中,還需要根據具體需求進行更多的高級配置,如集群搭建、安全設置等。如果在配置過程中遇到問題,可以參考Kafka的官方文檔或相關的教程資源。