测试环境搭建整套大数据系统(十九:kafka ssl)

一:生成配置cert

1.1 生成server keystore

dart 复制代码
keytool -keystore server.keystore.jks -alias kafka-server -validity 365 -keyalg RSA -genkey

查看

dart 复制代码
 keytool -list -keystore server.keystore.jks -v

1.2生成client keystore

dart 复制代码
keytool -keystore client.keystore.jks -alias kafka-client -validity 365 -keyalg RSA -genkey

查看

dart 复制代码
keytool -list -keystore client.keystore.jks -v

1.3 生成CA证书

dart 复制代码
openssl req -new -x509 -keyout ca.key -out ca.crt -days 365

1.4 将 CA 证书导入到服务器和客户端的信任库中

dart 复制代码
 keytool -keystore server.trustkeystore.jks -alias CARoot -import -file ca.crt
dart 复制代码
keytool -keystore client.trustkeystore.jks -alias CARoot -import -file ca.crt

1.5 导出证书

dart 复制代码
keytool -keystore server.keystore.jks -alias kafka-server -certreq -file kafka.server.crt 
dart 复制代码
keytool -keystore client.keystore.jks -alias kafka-client -certreq -file kafka.client.crt  

1.6使用 CA 证书进行签名任务

dart 复制代码
openssl x509 -req -CA ca.crt -CAkey ca.key -in kafka.server.crt -out kafka.server.signed.crt -days 365 -CAcreateserial
dart 复制代码
openssl x509 -req -CA ca.crt -CAkey ca.key -in kafka.client.crt -out kafka.client.signed.crt -days 365 -CAcreateserial 

1.7 将 CA 证书导入到服务器和客户端的密钥库中

dart 复制代码
keytool -keystore server.keystore.jks -alias CARoot -import -file ca.crt
dart 复制代码
keytool -keystore client.keystore.jks -alias CARoot -import -file ca.crt 

1.8 在 CA 证书签名后,将证书导入到服务器和客户端的密钥库中

dart 复制代码
keytool -keystore server.keystore.jks -alias kafka-server -import -file kafka.server.signed.crt
dart 复制代码
keytool -keystore client.keystore.jks -alias kafka-client -import -file kafka.client.signed.crt

1.9 拷贝jks文件到其他集群服务器上

dart 复制代码
scp -r cert root@hadoop101:`pwd`
scp -r cert root@hadoop102:`pwd`

二、分别修改kafka配置文件server.properties

dart 复制代码
cp server.properties server-ssl.properties 
vim server-ssl.properties
dart 复制代码
listeners=PLAINTEXT://hadoop100:9092,SSL://hadoop100:9093

security.inter.broker.protocol=SSL
ssl.keystore.location=/opt/kafka_2.13-3.6.1/cert/server.keystore.jks
ssl.keystore.password=123456
ssl.key.password=123456
ssl.truststore.location=/opt/kafka_2.13-3.6.1/cert/server.trustkeystore.jks
ssl.truststore.password=123456
ssl.client.auth=required

启动kafka

dart 复制代码
 nohup /opt/kafka_2.13-3.6.1/bin/kafka-server-start.sh /opt/kafka_2.13-3.6.1/config/server-ssl.properties > /dev/null 2>&1 &

三、创建clientssl.properties

dart 复制代码
security.inter.broker.protocol=SSL
ssl.keystore.location=/opt/kafka_2.13-3.6.1/cert/server.keystore.jks
ssl.keystore.password=123456
ssl.key.password=123456
ssl.truststore.location=/opt/kafka_2.13-3.6.1/cert/server.trustkeystore.jks
ssl.truststore.password=123456
相关推荐
低头不见23 分钟前
一个服务器算分布式吗,分布式需要几个服务器
运维·服务器·分布式
靠近彗星1 小时前
如何检查 HBase Master 是否已完成初始化?| 详细排查指南
大数据·数据库·分布式·hbase
小马爱打代码4 小时前
Kafka - 消息零丢失实战
分布式·kafka
长河4 小时前
Kafka系列教程 - Kafka 运维 -8
运维·分布式·kafka
浩浩kids6 小时前
Hadoop•踩过的SHIT
大数据·hadoop·分布式
松韬7 小时前
Spring + Redisson:从 0 到 1 搭建高可用分布式缓存系统
java·redis·分布式·spring·缓存
雨会停rain7 小时前
如何提高rabbitmq消费效率
分布式·rabbitmq
java技术小馆9 小时前
Zookeeper中的Zxid是如何设计的
java·分布式·zookeeper·云原生
DemonAvenger10 小时前
深入剖析 sync.Once:实现原理、应用场景与实战经验
分布式·架构·go
Vic233410 小时前
Kafka简要介绍与快速入门示例
分布式·kafka