在Debian上配置Apache Kafka的認證涉及幾個步驟,包括設置SSL/TLS和SASL(簡單認證和安全層)。以下是一個基本的指南,幫助你在Debian系統上配置Kafka的認證。
Kafka需要Java運行時環境。你可以使用以下命令安裝OpenJDK:
sudo apt update
sudo apt install openjdk-11-jdk
從Apache Kafka官方網站下載最新版本的Kafka,并解壓到你的目錄中。
wget https://downloads.apache.org/kafka/3.0.0/kafka_2.13-3.0.0.tgz
tar -xzf kafka_2.13-3.0.0.tgz
cd kafka_2.13-3.0.0
使用OpenSSL生成自簽名證書:
# 創建一個目錄來存儲證書
mkdir -p kafka/config/ssl
# 生成密鑰庫
keytool -genkey -alias kafka-server -keystore kafka.server.keystore.jks -storepass password -validity 365 -keyalg RSA
# 生成信任庫
keytool -import -alias kafka-server -file kafka.server.crt -keystore kafka.server.truststore.jks -storepass password
編輯config/server.properties文件,添加或修改以下配置:
listeners=SSL://:9093
ssl.keystore.location=/path/to/kafka/config/ssl/kafka.server.keystore.jks
ssl.keystore.password=password
ssl.key.password=password
ssl.truststore.location=/path/to/kafka/config/ssl/kafka.server.truststore.jks
ssl.truststore.password=password
ssl.enabled.protocols=TLSv1.2
ssl.protocol=TLSv1.2
編輯config/server.properties文件,添加或修改以下配置:
listeners=SASL_SSL://:9094
security.inter.broker.protocol=SASL_SSL
sasl.mechanism.inter.broker.protocol=PLAIN
sasl.enabled.mechanisms=PLAIN
創建一個JAAS配置文件(例如kafka_server_jaas.conf),內容如下:
KafkaServer {
org.apache.kafka.common.security.plain.PlainLoginModule required
username="admin"
password="admin-secret"
user_admin="/path/to/kafka/config/users.properties";
};
創建一個用戶配置文件(例如users.properties),內容如下:
admin=admin-secret
編輯config/server.properties文件,添加或修改以下配置:
sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required \
username="admin" \
password="admin-secret" \
user_admin="/path/to/kafka/config/users.properties";
確保所有配置都正確后,啟動Kafka服務器:
bin/kafka-server-start.sh config/server.properties
你可以使用Kafka自帶的命令行工具來驗證配置是否成功。例如,創建一個主題并查看其詳細信息:
bin/kafka-topics.sh --create --topic test-topic --bootstrap-server localhost:9094 --partitions 3 --replication-factor 2
bin/kafka-topics.sh --describe --topic test-topic --bootstrap-server localhost:9094
通過以上步驟,你應該能夠在Debian上成功配置Kafka的認證。根據你的具體需求,可能還需要進行更多的配置和調整。