如何配置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" ;

至此,配置完成。

相关推荐
2501_933329551 小时前
企业舆情处置技术实践:基于AI的智能监测与申诉系统架构解析
人工智能·分布式·架构·系统架构
爱丽_5 小时前
Redis 分布式锁:SET NX、过期时间、续租、可重入、Redlock 与坑
数据库·redis·分布式
ok_hahaha8 小时前
java从头开始-黑马点评-分布式锁-redis实现基础版
java·redis·分布式
传感器与混合集成电路9 小时前
法珀干涉与光栅补偿:井下压力温度一体化光纤监测技术
分布式
@insist1239 小时前
数据库系统工程师-分布式数据库与数据仓库核心考点及应用体系
数据库·数据仓库·分布式·软考·数据库系统工程师·软件水平考试
XDHCOM10 小时前
TP5框架Redis分布式缓存实战,解决高并发场景下的数据一致性问题
redis·分布式·缓存
Fzuim11 小时前
从CLI到分布式智能体:重新理解AI Agent的演进路径与工程现实
人工智能·分布式·ai·agent·agentic
_院长大人_13 小时前
Spring Boot 3.3 + Atomikos 分布式事务日志路径配置踩坑记录
spring boot·分布式·后端
Data 实验室13 小时前
TaskPyro “小龙虾版本”专业爬虫管理平台来了:AI+分布式+IM 机器人,一套搞定企业级爬虫调度
人工智能·分布式·爬虫
想你依然心痛13 小时前
HarmonyOS 5.0教育行业解决方案:基于分布式能力的沉浸式智慧课堂系统
分布式·wpf·harmonyos