docker-compose方式启动Kafka Sasl加密认证(无zk)
首先参考文档,思考过程可以进行参考https://juejin.cn/post/7294556533932884020#heading-3
用的镜像是Bitnami,对SASL配置进行了简化,需要按照特定格式去配置jass验证
完整配置如下
镜像版本参考:https://hub.docker.com/r/bitnami/kafka/tags
KAFKA_KRAFT_CLUSTER_ID这里需要固定一个uuid
# 使用Linux工具生成Kafka格式的集群ID
UUID=$(uuidgen | tr -d '-')
echo $UUID | xxd -r -p | base64
启动以后宿主机kafka的目录结构如下
tree kafka/
kafka/
└── kafka├── config└── data
我最终选择一个固定版本,防止某天重启后发生异常错误
version: '3'
services:kafka:image: bitnami/kafka:3.5.1container_name: kafkaports:- "9092:9092"volumes:- /data/kafka:/bitnamienvironment:# KRaft 模式配置- KAFKA_CFG_NODE_ID=1- KAFKA_CFG_PROCESS_ROLES=broker,controller- KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=1@kafka:9093# 监听配置- KAFKA_CFG_LISTENERS=SASL_PLAINTEXT://:9092,CONTROLLER://:9093- KAFKA_CFG_ADVERTISED_LISTENERS=SASL_PLAINTEXT://localhost:9092- KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=CONTROLLER:PLAINTEXT,SASL_PLAINTEXT:SASL_PLAINTEXT- KAFKA_CFG_CONTROLLER_LISTENER_NAMES=CONTROLLER# 集群ID- KAFKA_KRAFT_CLUSTER_ID=4Zndq6u1TWqoaPt1AwHAKg==# 客户端用户配置- KAFKA_CLIENT_USERS=admin,ttx- KAFKA_CLIENT_PASSWORDS=TC4xaEvCSGaMuCZT,iri17ttx# controller 用户配置- KAFKA_CFG_SASL_MECHANISM_CONTROLLER_PROTOCOL=PLAIN- KAFKA_CONTROLLER_USER=admin- KAFKA_CONTROLLER_PASSWORD=TC4xaEvCSGaMuCZT# broker间通信用户配置- KAFKA_CFG_INTER_BROKER_LISTENER_NAME=SASL_PLAINTEXT- KAFKA_CFG_SASL_MECHANISM_INTER_BROKER_PROTOCOL=PLAIN- KAFKA_INTER_BROKER_USER=admin- KAFKA_INTER_BROKER_PASSWORD=TC4xaEvCSGaMuCZT# 其他配置- KAFKA_CFG_AUTO_CREATE_TOPICS_ENABLE=true- ALLOW_PLAINTEXT_LISTENER=yesrestart: unless-stopped
mkdir: cannot create directory '/bitnami/kafka/config': Permission denied`
对容器的kafka用户进行授权
chown 1001:1001 /data/kafka/docker-compose down && docker-compose up -d
测试用户名密码连接
docker exec -it kafka shcat > /tmp/client.properties << EOF
security.protocol=SASL_PLAINTEXT
sasl.mechanism=PLAIN
sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="ttx" password="iri17ttx";
EOFkafka-topics.sh --create --topic test-topic --bootstrap-server localhost:9092 --command-config /tmp/client.properties --partitions 1 --replication-factor 1
kafka-topics.sh --list --bootstrap-server localhost:9092 --command-config /tmp/client.properties
相关文章:
docker-compose方式启动Kafka Sasl加密认证(无zk)
首先参考文档,思考过程可以进行参考https://juejin.cn/post/7294556533932884020#heading-3 用的镜像是Bitnami,对SASL配置进行了简化,需要按照特定格式去配置jass验证 完整配置如下 镜像版本参考:https://hub.docker.com/r/bitn…...
[ComfyUI]官方已支持Skyreels混元图生视频,速度更快,效果更好(附工作流)
一、介绍 昨天有提到官方已经支持了Skyreels,皆大欢喜,效果更好一些,还有GGUF量化版本,进一步降低了大家的显存消耗。 今天就来分享一下官方流怎么搭建,我体验下来感觉更稳了一些,生成速度也更快…...
数据库导出
MySQL数据库 使用命令行导出 导出整个数据库:在命令行中输入mysqldump -u用户名 -p密码 数据库名 > 导出文件路径/文件名.sql。例如mysqldump -uroot -p123456 mydb > /home/user/mydb_backup.sql,回车后输入密码即可将名为mydb的数据库导出为SQL…...
Flask 应用结构与模块化管理详细笔记
1. 代码结构优化:StructureA 最初的 Flask 项目结构适用于小型应用,但不适用于大型应用。为了改进代码结构,我们将 URL 管理应用拆分为多个模块。 1.1 StructureA 目录结构 StructureA |-- .flaskenv |-- app.py |-- views.py |-- templat…...
Excel的两个小问题解决
(一)因为合并单元格存在,无法使用下拉自动填充公式。 解决方案: 使用 CtrlEnter 组合键 选中目标区域:选中需要应用公式的所有合并单元格区域,这些单元格可能是由 2 行或 3 行等合并而成。输入公式&…...
计算机毕业设计Python+DeepSeek-R1大模型期货价格预测分析 期货价格数据分析可视化预测系 统 量化交易大数据 机器学习 深度学习
温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…...
JVM 面试
JVM 运行时内存区域划分是怎样的? 程序计数器:记录当前线程执行的字节码指令的地址,是线程私有的。 Java 虚拟机栈:每个方法在执行时都会创建一个栈帧,用于存储局部变量表、操作数栈、动态链接、方法出口等信息&#…...
智慧后勤的消防管理:豪越科技为安全护航
智慧后勤消防管理难题大揭秘! 在智慧后勤发展得如火如荼的当下,消防管理却暗藏诸多难题。传统模式下,消防设施分布得那叫一个散,就像一盘散沙,管理起来超费劲。人工巡检不仅效率低,还容易遗漏,不…...
【Elasticsearch】(Java 版)
Elasticsearch(Java 版) 文章目录 Elasticsearch(Java 版)**1. Elasticsearch 简介****1.1 什么是 Elasticsearch?****1.2 核心概念** **2. 安装与配置****2.1 环境要求****2.2 安装步骤****Linux/macOS****Windows** …...
DeepSeek在昇腾上的模型部署 - 常见问题及解决方案
2024年12月26日,DeepSeek-V3横空出世,以其卓越性能备受瞩目。该模型发布即支持昇腾,用户可在昇腾硬件和MindIE推理引擎上实现高效推理,但在实际操作中,部署流程与常见问题困扰着不少开发者。本文将为你详细阐述昇腾Dee…...
安全面试5
文章目录 sql的二次注入在linux下,现在有一个拥有大量ip地址的txt文本文档,但是里面有很多重复的,如何快速去重?在内网渗透中,通过钓鱼邮件获取到主机权限,但是发现内网拦截了tcp的出网流量,聊一…...
【Python量化金融实战】-第2章:金融市场数据获取与处理:2.1 数据源概览:Tushare、AkShare、Baostock、通联数据(DataAPI)
本章将详细介绍四大主流金融数据源(Tushare、AkShare、Baostock、通联数据(DataAPI)),分析其特点与适用场景,并通过实战案例展示数据获取与处理的全流程。 👉 点击关注不迷路 👉 点击…...
Exoplayer(MediaX)实现音频变调和变速播放
在K歌或录音类应用中变调是个常见需求,比如需要播出萝莉音/大叔音等。变速播放在影视播放类应用中普遍存在,在传统播放器Mediaplayer中这两个功能都比较难以实现,特别在低版本SDK中,而Exoplayer作为google官方推出的Mediaplayer替…...
服务器间迁移conda环境
注意:可使用迁移miniconda文件 or 迁移yaml文件两种方式,推荐前者,基本无bug! 一、迁移miniconda文件: 拷贝旧机器的miniconda文件文件到新机器: 内网拷贝:scp -r mazhf192.168.1.233:~/miniconda3 ~/ 外…...
docker高级
文章目录 1.Docker Compose1.1 介绍1.2 compose文件1.3 常用命令1.4 安装1.5 项目说明和构建1.5.1 手工启动1.5.2 compose 编排启动1.5.3 完善 compose.yml1.5.4 加入前端容器 2.UI管理平台2.1 portainer 3.镜像发布3.1 阿里云3.2 Docker Registry3.2.1 介绍3.2.2 安装3.2.3 测…...
Redis Stream基本使用及应用场景
一、概念 Redis Streams是Redis5.0提供的一种消息队列机制,支持多播的可持久化的消息队列,用户实现发布订阅的功能,借鉴了kafka设计。 二、常用命令 命令名称描述XADD key ID field value [field value ...]添加一条消息 key:St…...
DAY40|动态规划Part08|LeetCode: 121. 买卖股票的最佳时机 、 122.买卖股票的最佳时机II 、 123.买卖股票的最佳时机III
目录 LeetCode:121. 买卖股票的最佳时机 暴力解法 贪心法 动态规划法 LeetCode:122.买卖股票的最佳时机II 基本思路 LeetCode: 买卖股票的最佳时机III、IV 基本思路 C代码 LeetCode:121. 买卖股票的最佳时机 力扣题目链接 文字讲解:121. 买卖股票的最佳时…...
【安装及调试旧版Chrome + 多版本环境测试全攻略】
👨💻 安装及调试旧版Chrome 多版本环境测试全攻略 🌐 (新手友好版 | 覆盖安装/运行/调试全流程) 🕰️ 【背景篇】为什么我们需要旧版浏览器测试? 🌍 🌐 浏览器世界的“…...
【Linux】进程间通信——命名管道
文章目录 命名管道什么是命名管道**命名管道 vs. 无名管道**如何创建命名管道 用命名管道实现进程间通信MakefileComm.hppServer.hppClient.hppServer.cppClient.cpp 效果总结 命名管道 什么是命名管道 命名管道,也称为 FIFO(First In First Out&#…...
Qt在Linux嵌入式开发过程中复杂界面滑动时卡顿掉帧问题分析及解决方案
Qt在Linux嵌入式设备开发过程中,由于配置较低,加上没有GPU,我们有时候会遇到有些组件比较多的复杂界面,在滑动时会出现掉帧或卡顿的问题。要讲明白这个问题还得从CPU和GPU的分工说起。 一、硬件层面核心问题根源剖析 CPU&#x…...
Cursor Pro功能解锁技术指南:突破限制与优化使用方案
Cursor Pro功能解锁技术指南:突破限制与优化使用方案 【免费下载链接】cursor-free-vip [Support 0.45](Multi Language 多语言)自动注册 Cursor Ai ,自动重置机器ID , 免费升级使用Pro 功能: Youve reached your tria…...
Java静态镜像内存优化实战手册(含GC策略调优+SubstrateVM内存布局图解)
第一章:Java静态镜像内存优化全景概览Java静态镜像(Static Image)是GraalVM原生镜像(Native Image)技术演进的重要方向,它将Java应用在构建时完成类加载、字节码解析、即时编译与内存布局固化,生…...
Fish Speech 1.5企业应用:会议纪要自动转语音播报方案
Fish Speech 1.5企业应用:会议纪要自动转语音播报方案 1. 企业会议纪要处理的痛点与解决方案 在日常企业运营中,会议纪要的整理和传达往往面临三大挑战: 效率瓶颈:人工整理会议录音平均耗时1-2小时/场,关键信息传递…...
D3KeyHelper完全指南:从入门到精通的暗黑3技能自动化解决方案
D3KeyHelper完全指南:从入门到精通的暗黑3技能自动化解决方案 【免费下载链接】D3keyHelper D3KeyHelper是一个有图形界面,可自定义配置的暗黑3鼠标宏工具。 项目地址: https://gitcode.com/gh_mirrors/d3/D3keyHelper D3KeyHelper是一款专为暗黑…...
2025界面字体设计效率提升指南:Bebas Neue开源字体全解析
2025界面字体设计效率提升指南:Bebas Neue开源字体全解析 【免费下载链接】Bebas-Neue Bebas Neue font 项目地址: https://gitcode.com/gh_mirrors/be/Bebas-Neue 在数字界面设计领域,字体选型直接影响用户体验与开发效率。作为2025年最受瞩目的…...
Multisim 14.0实战:用74LS160和74LS161搭建61进制计数器(附完整电路图)
Multisim 14.0实战:用74LS160和74LS161搭建61进制计数器 在电子工程领域,计数器电路设计是数字逻辑课程的核心实践内容之一。对于初学者而言,理解计数器的工作原理并通过仿真软件实现特定进制计数功能,不仅能巩固理论知识&#x…...
解决中文文献管理痛点:茉莉花插件如何提升学术研究效率
解决中文文献管理痛点:茉莉花插件如何提升学术研究效率 【免费下载链接】jasminum A Zotero add-on to retrive CNKI meta data. 一个简单的Zotero 插件,用于识别中文元数据 项目地址: https://gitcode.com/gh_mirrors/ja/jasminum 副标题&#x…...
Architect.dev核心组件架构揭秘:深入理解@http、@tables、@events
Architect.dev核心组件架构揭秘:深入理解http、tables、events 【免费下载链接】architect The simplest, most powerful way to build a functional web app (fwa) 项目地址: https://gitcode.com/gh_mirrors/ar/architect Architect.dev 是一个革命性的无服…...
告别在线转换!用PowerShell+FFmpeg批量把FLAC无损转成ALAC(附完整脚本)
打造高效音频工作流:PowerShellFFmpeg批量转换FLAC到ALAC全攻略 每次整理音乐库时,最头疼的就是格式兼容性问题。上周我帮朋友迁移他的2000多首FLAC音乐到苹果设备,原本打算用在线转换工具,结果光是上传就花了整整一天——这还不算…...
Vue实战:从零构建黑马后台管理系统全流程解析
1. 项目初始化与环境搭建 刚开始接触Vue后台管理系统开发时,我踩过不少环境配置的坑。这里分享一个经过实战验证的初始化流程,帮你避开那些常见的"雷区"。 首先确保你的开发环境已经安装了Node.js(建议LTS版本)和npm。我…...
