在Ubuntu中完善Kafka配置需要經過以下幾個步驟:
首先,確保已經安裝了Java運行時環境??梢允褂靡韵旅畎惭bOpenJDK 8:
sudo apt update
sudo apt install openjdk-8-jdk
驗證Java安裝:
java -version
Kafka依賴Zookeeper進行集群管理和協調。以下是安裝和配置Zookeeper的步驟:
下載Zookeeper:
wget https://archive.apache.org/dist/zookeeper/zookeeper-3.4.13/zookeeper-3.4.13.tar.gz
解壓Zookeeper:
tar -xzvf zookeeper-3.4.13.tar.gz
配置Zookeeper:
編輯/path/to/zookeeper-3.4.13/conf/zoo.cfg
文件,設置以下配置:
tickTime=2000
dataDir=/path/to/zookeeper/data
clientPort=2181
啟動Zookeeper:
/path/to/zookeeper-3.4.13/bin/zkServer.sh start
驗證Zookeeper是否啟動成功:
netstat -nap | grep 2181
下載Kafka:
wget https://downloads.apache.org/kafka/3.5.2/kafka_2.12-3.5.2.tgz
解壓Kafka:
tar -xzvf kafka_2.12-3.5.2.tgz
配置Kafka:
編輯/path/to/kafka_2.12-3.5.2/config/server.properties
文件,設置以下配置:
broker.id=0
port=9092
log.dirs=/path/to/kafka/logs
zookeeper.connect=localhost:2181
創建一個啟動腳本start_kafka.sh
:
#!/bin/bash
# 啟動Zookeeper
/path/to/zookeeper-3.4.13/bin/zkServer.sh start
# 啟動Kafka
/path/to/kafka_2.12-3.5.2/bin/kafka-server-start.sh /path/to/kafka_2.12-3.5.2/config/server.properties
給予腳本執行權限:
chmod +x start_kafka.sh
啟動Kafka:
./start_kafka.sh
使用以下命令創建一個Topic并測試:
創建Topic:
/path/to/kafka_2.12-3.5.2/bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
生產者和消費者測試:
# 生產者
/path/to/kafka_2.12-3.5.2/bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
# 消費者
/path/to/kafka_2.12-3.5.2/bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning
安全性配置:
添加認證配置:
Properties props = new Properties();
props.put("bootstrap.servers", "localhost:9092");
props.put("group.id", "test");
props.put("security.protocol", "SASL_PLAINTEXT");
props.put("sasl.mechanism", "PLAIN");
KafkaConsumer<String, String> consumer = new KafkaConsumer<>(props);
添加SSL配置:
Properties props = new Properties();
props.put("bootstrap.servers", "localhost:9092");
props.put("group.id", "test");
props.put("security.protocol", "SSL");
props.put("ssl.truststore.location", "/path/to/truststore/file");
props.put("ssl.truststore.password", "password");
KafkaProducer<String, String> producer = new KafkaProducer<>(props);
環境變量配置:
編輯/etc/profile
文件,添加以下內容:
export KAFKA_HOME=/path/to/kafka_2.12-3.5.2
export PATH=$PATH:$KAFKA_HOME/bin
刷新環境變量:
source /etc/profile
通過以上步驟,你可以在Ubuntu上完善Kafka的配置。確保根據實際需求調整配置參數,例如端口號、日志目錄等。