测试环境搭建整套大数据系统(十九: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
相关推荐
爱丽_30 分钟前
Redis 分布式锁:SET NX、过期时间、续租、可重入、Redlock 与坑
数据库·redis·分布式
ok_hahaha3 小时前
java从头开始-黑马点评-分布式锁-redis实现基础版
java·redis·分布式
传感器与混合集成电路4 小时前
法珀干涉与光栅补偿:井下压力温度一体化光纤监测技术
分布式
@insist1234 小时前
数据库系统工程师-分布式数据库与数据仓库核心考点及应用体系
数据库·数据仓库·分布式·软考·数据库系统工程师·软件水平考试
XDHCOM5 小时前
TP5框架Redis分布式缓存实战,解决高并发场景下的数据一致性问题
redis·分布式·缓存
Fzuim6 小时前
从CLI到分布式智能体:重新理解AI Agent的演进路径与工程现实
人工智能·分布式·ai·agent·agentic
曹牧6 小时前
JDK 1.6 ,无法通过安全套接字层(SSL/TLS)加密建立数据库安全连接
java·开发语言·ssl
_院长大人_8 小时前
Spring Boot 3.3 + Atomikos 分布式事务日志路径配置踩坑记录
spring boot·分布式·后端
Data 实验室8 小时前
TaskPyro “小龙虾版本”专业爬虫管理平台来了:AI+分布式+IM 机器人,一套搞定企业级爬虫调度
人工智能·分布式·爬虫
想你依然心痛8 小时前
HarmonyOS 5.0教育行业解决方案:基于分布式能力的沉浸式智慧课堂系统
分布式·wpf·harmonyos