在Ubuntu上配置Kafka涉及多個步驟,包括安裝Java和Zookeeper、配置Kafka以及啟動服務。以下是詳細的步驟:
首先,確保你的系統上安裝了Java運行環境(JRE)。你可以使用以下命令來安裝OpenJDK 8:
sudo apt update
sudo apt install openjdk-8-jdk
驗證Java安裝成功:
java -version
下載并解壓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
配置Zookeeper:
sudo cat > /usr/local/zookeeper/conf/zoo.cfg << EOF
tickTime=2000
dataDir=/var/lib/zookeeper
clientPort=2181
EOF
啟動Zookeeper:
sudo /usr/local/zookeeper/bin/zkServer.sh start
驗證Zookeeper是否啟動成功:
sudo netstat -nap | grep 2181
下載Kafka安裝包并解壓:
wget https://downloads.apache.org/kafka/3.5.2/kafka_2.12-3.5.2.tgz
tar -xzf kafka_2.12-3.5.2.tgz
sudo mv kafka_2.12-3.5.2 /usr/local/kafka
編輯Kafka的配置文件server.properties:
sudo cp /usr/local/kafka/config/server.properties /usr/local/kafka/config/server.properties.orig
sudo vi /usr/local/kafka/config/server.properties
修改以下配置項:
listeners: 設置Kafka監聽的地址和端口。advertised.listeners: 設置Kafka對外暴露的地址和端口。zookeeper.connect: 設置Zookeeper的連接地址。示例配置:
listeners=PLAINTEXT://:9092
advertised.listeners=PLAINTEXT://your.kafka.server.ip:9092
zookeeper.connect=localhost:2181
啟動Kafka服務:
sudo /usr/local/kafka/bin/kafka-server-start.sh /usr/local/kafka/config/server.properties
驗證Kafka是否啟動成功:
sudo netstat -nap | grep 9092
創建一個測試Topic:
sudo /usr/local/kafka/bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
發布消息到Topic:
sudo /usr/local/kafka/bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
訂閱并消費消息:
sudo /usr/local/kafka/bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic test --from-beginning