如何配置Kafka账号密码

背景

我们需要与第三方系统进行数据同步,需要搭建公网Kafka,Kafka默认是没有用户密码校验的,所以我们需要配置用户名密码校验。

配置

新增JAAS配置文件

在conf目录下新增kafka_server_jaas.conf文件,文件内容如下:

shell 复制代码
KafkaServer {
            org.apache.kafka.common.security.plain.PlainLoginModule required
            serviceName="kafka"
            username="admin"
            password="admin-secret"
            user_admin="admin-secret"
            user_alice="alice-secret";
};

修改kafka-server-start.sh脚本

-Djava.security.auth.login.config=<jaas配置文件的路径>

shell 复制代码
export KAFKA_HEAP_OPTS="-Xmx1G -Xms1G -Djava.security.auth.login.config=/home/ubuntu/kafka_2.11-2.1.1/config/kafka_server_jaas.conf"

修改config/server.properties

这里配置了内网使用 PLAINTEXT 协议,外网使用 SASL_PLAINTEXT 协议

shell 复制代码
listener.security.protocol.map=INTERNAL:PLAINTEXT,EXTERNAL:SASL_PLAINTEXT

listeners=INTERNAL://10.0.12.3:9092,EXTERNAL://10.0.12.3:19092
advertised.listeners=INTERNAL://10.0.12.3:9092,EXTERNAL://xx.xx.xx.xxx:19092
inter.broker.listener.name=INTERNAL
sasl.mechanism.inter.broker.protocol=PLAIN
sasl.enabled.mechanisms=PLAIN

请将xx.xx.xx.xxx替换为你的公网IP

测试连接

用kafka tool测试连接,下载地址:https://www.kafkatool.com/

  • 配置Zookeeper地址
  • 配置Security
  • 配置Bootstrap
  • 配置用户名密码
    此处的用户名密码需要和jaas的配置一致。
shell 复制代码
org.apache.kafka.common.security.plain.PlainLoginModule required
username="admin"
password="admin-secret" ;

至此,配置完成。

相关推荐
gQ85v10Db14 小时前
Redis分布式锁进阶第二十二篇
数据库·redis·分布式
PeterLi19 小时前
Redis 分布式锁架构全解析:从基础实现到生产级选型指南
redis·分布式
qq_4352879220 小时前
第18章 闻仲西征:单体应用被分布式集群拖垮?十战十捷是回光返照
分布式·微服务·分布式架构·健康检查·单体应用·闻仲·垂直扩展
过期动态21 小时前
【RabbitMQ基础篇】RabbitMQ从入门到实战
java·jvm·数据库·分布式·spring·rabbitmq·intellij-idea
麟听科技1 天前
HarmonyOS 6.0+ 跨端智能写作助手开发实战:多设备接续编辑与AI辅助创作落地
人工智能·分布式·华为·harmonyos·ai写作
贺国亚1 天前
Kafka系统设计与编码
后端·kafka
Volunteer Technology1 天前
Hadoop NameNode HA
大数据·hadoop·分布式
hyunbar1 天前
ZooKeeper 未授权访问漏洞:你做的 ACL 加固可能只是“假动作”
分布式·zookeeper·云原生
卷毛的技术笔记1 天前
双十一零点扛过10倍流量洪峰:Sentinel与Redis+Lua的分布式限流深度避坑指南
java·redis·分布式·后端·系统架构·sentinel·lua
Volunteer Technology1 天前
Hadoop Federation 联邦
大数据·hadoop·分布式