测试环境搭建整套大数据系统(十九: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
相关推荐
面带微笑向前走3 小时前
分布式集群压测+grafana+influxdb+Prometheus详细步骤
分布式·grafana·prometheus
何中应4 小时前
分布式事务的两种解决方案
java·分布式·后端
诸葛务农5 小时前
人形机器人——电子皮肤技术路线:光学式电子皮肤及MIT基于光导纤维的分布式触觉传感电子皮肤
分布式·机器人·wpf
武子康7 小时前
大数据-77 Kafka 延时队列与消息重试机制全解析:从原理到实战落地 Java
大数据·后端·kafka
心月狐的流火号7 小时前
分布式锁技术详解与Go语言实现
分布式·微服务·go
秋已杰爱10 小时前
Redis分布式锁
数据库·redis·分布式
编啊编程啊程14 小时前
JUC之AQS
java·开发语言·jvm·c++·kafka
努力买辣条15 小时前
基于 Docker 的高可用 WordPress 集群部署:分布式 Nginx + Keepalived、MySQL 主从复制与 ProxySQL 读写分离
分布式·nginx·docker
tan77º1 天前
【Linux网络编程】分布式Json-RPC框架 - 项目设计
linux·服务器·网络·分布式·网络协议·rpc·json
张太行_1 天前
网络SSL/TLS协议详解
网络·web安全·ssl