温馨提示×

centos kafka如何配置SSL

小樊
46
2025-09-24 08:45:10
栏目: 云计算

在CentOS上配置Kafka以使用SSL涉及几个步骤,包括生成SSL证书和密钥、配置Kafka服务器和客户端。以下是一个基本的指南:

1. 生成SSL证书和密钥

首先,你需要生成SSL证书和密钥。你可以使用OpenSSL来完成这个任务。

生成CA证书和密钥

# 创建CA目录 mkdir -p kafka/ssl/ca # 进入CA目录 cd kafka/ssl/ca # 生成CA私钥 openssl genrsa -out ca-key.pem 2048 # 生成CA证书 openssl req -new -x509 -days 3650 -key ca-key.pem -out ca-cert.pem -subj /CN=kafka-ca 

生成服务器证书和密钥

# 创建服务器目录 mkdir -p kafka/ssl/server # 进入服务器目录 cd kafka/ssl/server # 生成服务器私钥 openssl genrsa -out server-key.pem 2048 # 生成服务器证书签名请求(CSR) openssl req -new -key server-key.pem -out server-csr.pem -subj /CN=kafka-server # 使用CA证书签名服务器CSR openssl x509 -req -in server-csr.pem -CA ca-cert.pem -CAkey ca-key.pem -CAcreateserial -out server-cert.pem -days 365 

生成客户端证书和密钥

# 创建客户端目录 mkdir -p kafka/ssl/client # 进入客户端目录 cd kafka/ssl/client # 生成客户端私钥 openssl genrsa -out client-key.pem 2048 # 生成客户端证书签名请求(CSR) openssl req -new -key client-key.pem -out client-csr.pem -subj /CN=kafka-client # 使用CA证书签名客户端CSR openssl x509 -req -in client-csr.pem -CA ca-cert.pem -CAkey ca-key.pem -CAcreateserial -out client-cert.pem -days 365 

2. 配置Kafka服务器

编辑Kafka服务器的配置文件server.properties,通常位于/etc/kafka/server.properties$KAFKA_HOME/config/server.properties

# 启用SSL listeners=SSL://:9093 security.inter.broker.protocol=SSL  # SSL配置 ssl.keystore.location=/path/to/kafka/ssl/server/server.jks ssl.keystore.password=your_keystore_password ssl.key.password=your_key_password ssl.truststore.location=/path/to/kafka/ssl/server/truststore.jks ssl.truststore.password=your_truststore_password  # 启用SASL_SSL sasl.enabled.mechanisms=PLAIN sasl.mechanism.inter.broker.protocol=PLAIN security.protocol=SASL_SSL 

3. 配置Kafka客户端

编辑Kafka客户端的配置文件client.properties,通常位于/etc/kafka/client.properties$KAFKA_HOME/config/client.properties

# 启用SSL security.protocol=SASL_SSL  # SASL配置 sasl.mechanism=PLAIN sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required \ username="your_username" \ password="your_password";  # SSL配置 ssl.truststore.location=/path/to/kafka/ssl/client/truststore.jks ssl.truststore.password=your_truststore_password ssl.keystore.location=/path/to/kafka/ssl/client/keystore.jks ssl.keystore.password=your_keystore_password 

4. 启动Kafka服务器

确保所有配置文件都已正确设置后,启动Kafka服务器。

systemctl start kafka 

5. 验证SSL连接

你可以使用Kafka自带的kafkacat工具来验证SSL连接。

服务器端验证

kafkacat -b localhost:9093 -L 

客户端验证

kafkacat -b localhost:9093 -t your_topic -C -Z 

通过以上步骤,你应该能够在CentOS上成功配置Kafka以使用SSL。请根据你的具体需求调整配置文件中的路径和密码。

0