在Debian系统上配置Apache Kafka以启用SSL加密涉及几个步骤。以下是一个详细的指南:
首先,你需要生成SSL证书和密钥。你可以使用OpenSSL来生成自签名证书,或者从CA(证书颁发机构)获取证书。
# 生成密钥
keytool -genkey -alias kafka -keyalg RSA -keystore kafka.keystore.jks -storepass password -validity 3650 -keysize 2048
# 导出证书
keytool -export -alias kafka -file kafka.crt -keystore kafka.keystore.jks -storepass password
# 导入证书到信任库
keytool -import -alias kafka -file kafka.crt -keystore kafka.truststore.jks -storepass password
编辑Kafka服务器配置文件server.properties,通常位于/etc/kafka/server.properties。
# 启用SSL
listeners=SSL://:9093
advertised.listeners=SSL://your_kafka_host:9093
# SSL配置
ssl.keystore.location=/etc/kafka/kafka.keystore.jks
ssl.keystore.password=password
ssl.key.password=password
ssl.truststore.location=/etc/kafka/kafka.truststore.jks
ssl.truststore.password=password
# 其他配置
listeners=SASL_SSL://:9092
advertised.listeners=SASL_SSL://your_kafka_host:9092
sasl.mechanism.inter.broker.protocol=PLAIN
security.inter.broker.protocol=SASL_SSL
sasl.enabled.mechanisms=PLAIN
编辑Kafka客户端配置文件client.properties,通常位于/etc/kafka/client.properties。
# 启用SSL
security.protocol=SSL
ssl.truststore.location=/etc/kafka/kafka.truststore.jks
ssl.truststore.password=password
ssl.keystore.location=/etc/kafka/kafka.keystore.jks
ssl.keystore.password=password
ssl.key.password=password
保存配置文件后,重启Kafka服务器以应用更改。
sudo systemctl restart kafka
你可以使用kafkacat工具来验证SSL连接。
kafkacat -b your_kafka_host:9093 -L
如果一切配置正确,你应该能够看到Kafka集群的详细信息。
通过以上步骤,你应该能够在Debian系统上成功配置Apache Kafka以启用SSL加密。