使用SSL协议访问集群
更新时间:2024-01-03
本文介绍创建完集群后,如何使用Kafka脚本通过SSL协议访问Kafka集群,SSL协议需要在公网网络 或者 VPC网络下进行使用。如果想使用Java、Go、PHP等语言访问Kakfa集群,请参考开发指南。
前提条件
- 步骤一:创建Kafka集群
- 步骤二:创建主题
- 步骤三:配置权限认证
- 安装JDK1.8及以上版本:JDK下载地址。
具体操作步骤
- 下载Kafka 2.7.2安装包,并进行解压:kafka_2.13-2.7.2.tgz,其中解压后的bin目录为Kafka提供的可执行脚本。
- 在集群详情中,点击接入点查看SSL协议所使用的访问地址和端口。
- 下载证书:如何下载证书?。
- 创建kafka.properties配置文件,也可以直接使用证书文件中的client_ssl.properties,内容格式如下:
security.protocol=SSL
#第3步下载的SSL证书文件路径
ssl.truststore.location=client.truststore.jks
#SSL证书的密码,固定为bms@kafka
ssl.truststore.password=bms@kafka
#第3步下载的SSL证书文件路径
ssl.keystore.location=client.keystore.jks
ssl.keystore.password={password}
#固定为空
ssl.endpoint.identification.algorithm=
- 进入Kafka安装包解压后的bin目录下,使用Kafka脚本访问集群。
- 查看Topic列表,需要使用--command-config配置项来指定第5步中创建的kafka.properties文件,需要设置完整的文件路径:
kafka-topics.sh --bootstrap-server <SSL接入点地址> --list --command-config /***/kafka.properties
- 生产者发送消息,输入命令后会出现">"的标识,此时输入内容并且按下回车即可发送消息:
kafka-console-producer.sh --bootstrap-server <SSL接入点地址> --topic <Topic名称> --producer.config /***/kafka.properties
- 消费者消费消息:
kafka-console-consumer.sh --bootstrap-server <SSL接入点地址> --topic <Topic名称> --group <消费组ID> --from-beginning --consumer.config /***/kafka.properties