基于docker部署kafka-3.8.0版本,并开启SASL认证模式

news2025/2/7 5:32:41

1、下载安装包

(1)https://kafka.apache.org/downloads 下载如下图版本
在这里插入图片描述

2、解压安装包

执行tar -xvf kafka_2.13-3.8.0.tgz命令对安装包进行解压。

3、增加配置文件

(1)进入 /kafka_2.13-3.8.0/config 目录
(2)创建kafka_server_jaas.conf 文件 内容如下图

KafkaServer {                                                                                                                                                                                                            
org.apache.kafka.common.security.plain.PlainLoginModule required                                                                                                                                                       
  serviceName = "kafka3.8.0"                                                                                                                                                                                             
  username="admin"                                                                                                                                                                                                       
  password="admin"                                                                                                                                                                                                       
  user_admin="admin"                                                                                                                                                                                                     
  user_alice="alice";                                                                                                                                                                                                    
}; 

为broker增加SASL认证信息 用户名/密码均为admin
(3)修改server.properties 文件,增加下面信息,内容如下图

# 安全内部协议,指定使用SASL协议                                                                                                                                                                                         
security.inter.broker.protocol=SASL_PLAINTEXT                                                                                                                                                                                                                                                                                                                                                                                                  
# SASL认证机制,默认使用PLAIN                                                                                                                                                                                            
sasl.mechanism.inter.broker.protocol=PLAIN                                                                                                                                                                               
sasl.enabled.mechanisms=PLAIN                                                                                                                                                                                            
# 如果没有找到ACL(访问控制列表)配置,则允许任何操作。                                                                                                                                                                  
allow.everyone.if.no.acl.found=false                                                                                                                                                                                     
#超级管理员权限用户                                                                                                                                                                                                      
super.users=User:admin 
#监听                                                                                                                                                                                                                                                                                                                                                                                                                      
listeners=SASL_PLAINTEXT://localhost:9092
#这个地址是客户端用来连接到Kafka Broker的地址                                                                                                                                                   
advertised.listeners=SASL_PLAINTEXT://localhost:9092  

(4)创建kafka_consumer_jaas.conf 文件 内容如下图

KafkaClient {
  org.apache.kafka.common.security.plain.PlainLoginModule required
  username="admin"
  password="admin";
};

为消费者客户端增加SASL认证信息 对应broker的用户名/密码
(5)创建kafka_producer_jaas.conf 文件 内容如下图

KafkaClient {
  org.apache.kafka.common.security.plain.PlainLoginModule required
  username="admin"
  password="admin";
};

为生产者客户端增加SASL认证信息 对应broker的用户名/密码
(6)创建 kafka_topic_jass.properties 文件 内容如下图

security.protocol=SASL_PLAINTEXT
sasl.mechanism=PLAIN
sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="admin" password="admin";

为topic增加SASL认证信息,指定认证机制为SASL。
(7)修改 producer.properties 文件 在最下面增加如下代码

security.protocol=SASL_PLAINTEXT
sasl.mechanism=PLAIN

(8)修改 consumer.properties 文件 在最下面增加如下代码

security.protocol=SASL_PLAINTEXT
sasl.mechanism=PLAIN

4、修改启动脚本
(1)修改 kafka-server-start.sh 脚本 在脚本最上方增加如下代码。
export KAFKA_OPTS=“-Djava.security.auth.login.config=/kafka_2.13-3.8.0/config/kafka_server_jaas.conf”
其中 路径为自己kafka的安装路径

(2)修改 kafka-console-producer.sh 脚本 在脚本最上方增加如下代码。
export KAFKA_OPTS=" -Djava.security.auth.login.config=/kafka_2.13-3.8.0/config/kafka_producer_jaas.conf""

其中 路径为自己kafka的安装路径

(2)修改 kafka-console-consumer.sh 脚本 在脚本最上方增加如下代码。
export KAFKA_OPTS=" -Djava.security.auth.login.config=/kafka_2.13-3.8.0/config/kafka_consumer_jaas.conf"
其中 路径为自己kafka的安装路径

5、启动zookeeper服务
(1)执行

./zookeeper-server-start.sh ../config/zookeeper.properties & 

命令,后台运行zookeeper
(2)执行

 lsof -i:2181 

查看zookeeper是否正确启动,如无异常则如下图

6、启动kafka服务
(1)执行 ./kafka-server-start.sh …/config/server.properties & 命令 后台运行
(2)执行 lsof -i:9092 查看kafka是否正常启动,如无异常则如下图
在这里插入图片描述

7、创建topic
执行

./kafka-topics.sh --create  --bootstrap-server localhost:9092 --topic zhangsan  --command-config ../config/kafka_topic_jass.properties

创建topic
执行

./kafka-topics.sh		--list	--bootstrap-server	localhost:9092  --command-config ../config/kafka_topic_jass.properties 

查询已创建的topic列表
8、启动生产者测试发送数据
执行

./kafka-console-producer.sh --broker-list localhost:9092 --topic zhangsan --producer.config ../config/producer.properties 

9、启动消费者测试接收消息
执行

./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic zhangsan --consumer.config ../config/consumer.properties

可以看到 成功消费到了消息

可使用 KAFKA-king 测试
在这里插入图片描述

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2294111.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

从零开始人工智能Matlab案例-KNN的二维数据分类

基于K最近邻(K-Nearest Neighbors, KNN)算法的二分类案例,包含完整MATLAB代码、算法原理和核心思想说明。此案例使用合成数据集,无需复杂数据预处理,适合快速理解。 案例:基于KNN的二维数据分类 目标&…

Spring AOP 扫盲

🧑 博主简介:CSDN博客专家,历代文学网(PC端可以访问:https://literature.sinhy.com/#/literature?__c1000,移动端可微信小程序搜索“历代文学”)总架构师,15年工作经验,…

DeepSeek 提示词之角色扮演的使用技巧

老六哥的小提示:我们可能不会被AI轻易淘汰,但是会被“会使用AI的人”淘汰。 在DeepSeek的官方提示库中,有“角色扮演(自定义人设)”的提示词案例。截图如下: 在“角色扮演”的提示词案例中,其实…

python3中错误与异常初识

一. 简介 在 编写 Python时,经常会遇到一些报错信息。接下来开始学习 Python3 中错误和异常。 本文首先初步了解一下 Python3中的错误和异常。 二. python3 中错误与异常初识 Python 中有两种错误:语法错误与异常。 1. 语法错误 Python 的语法错误…

【图像处理】- 基本图像操作

基本图像操作详解 基本图像操作是图像处理的基础,涵盖了对图像进行简单但重要的变换。以下是几种常见的基本图像操作及其详细说明: 1. 裁剪 (Cropping) 描述:从原始图像中提取一个矩形区域。 实现方法: 使用图像的坐标系指定…

Attention is All You Need-Transformer模型论文精读+架构分析--简单易懂版

Foreword写在前面的话: 大家好,我是一名刚开始学习Transformer的新手。这篇文章是我在学习Transformer过程中的一些笔记和心得,希望能和同样在学习人工智能深度学习模型的朋友们分享。由于我的知识有限,文章中可能存在错误或不准确…

Qt跨屏窗口的一个Bug及解决方案

如果我们希望一个窗口覆盖用户的整个桌面,此时就要考虑用户有多个屏幕的场景(此窗口要横跨多个屏幕),由于每个屏幕的分辨率和缩放比例可能是不同的,Qt底层在为此窗口设置缩放比例(DevicePixelRatio&#xf…

Spark--算子执行原理

一、sortByKey SortByKey是一个transformation算子,但是会触发action,因为在sortByKey方法内部,会对每个分区进行采样,构建分区规则(RangePartitioner)。 内部执行流程 1、创建RangePartitioner part&…

javaEE-6.网络原理-http

目录 什么是http? http的工作原理: 抓包工具 fiddler的使用 HTTP请求数据: 1.首行:​编辑 2.请求头(header) 3.空行: 4.正文(body) HTTP响应数据 1.首行:​编辑 2.响应头 3.空行: 4.响应正文…

windows版的docker如何使用宿主机的GPU

windows版的docker使用宿主机的GPU的命令 命令如下 docker run -it --nethost --gpus all --name 容器名 -e NVIDIA_DRIVER_CAPABILITIEScompute,utility -e NVIDIA_VISIBLE_DEVICESall 镜像名效果 (transformer) rootdocker-desktop:/# python Python 3.9.0 (default, Nov 15 …

【C++】STL——list的使用

目录 💕1.带头双向链表List 💕2.list用法介绍 💕3.list的初始化 💕4.size函数与resize函数 💕5.empty函数 💕6.front函数与back函数 💕7.push_front,push_back,pop_front,pop_back函数…

6.PPT:魏女士-高新技术企业政策【19】

目录 NO1234​ NO567 ​ NO1234 创建“PPT.pptx”考生文件夹Word素材文档:选中对应颜色的文字→选中对应的样式单击右键按下匹配对应文字:应用所有对应颜色的文字开始→创建新的幻灯片→从大纲:考生文件夹:Word素材重置 开始→版…

MLA 架构

注:本文为 “MLA 架构” 相关文章合辑。 未整理去重。 DeepSeek 的 MLA 架构 原创 老彭坚持 产品经理修炼之道 2025 年 01 月 28 日 10:15 江西 DeepSeek 的 MLA(Multi-head Latent Attention,多头潜在注意力)架构 是一种优化…

7.抽象工厂(Abstract Factory)

抽象工厂与工厂方法极其类似,都是绕开new的,但是有些许不同。 动机 在软件系统中,经常面临着“一系列相互依赖的对象”的创建工作;同时,由于需求的变化,往往存在更多系列对象的创建工作。 假设案例 假设…

旋钮屏设备物联网方案,ESP32-C3无线通信应用,助力设备智能化升级

在智能家居的浪潮中,旋钮屏以其独特的交互方式和便捷的操作体验,逐渐成为智能家电控制面板上的新宠儿。从智能冰箱、洗衣机到烤箱、空气炸锅等设备,旋钮屏的应用无处不在。 通过简单的旋转和按压操作,用户可以轻松调节温度、时间…

DRGDIP 2.0时代下基于PostgreSQL的成本管理实践与探索(上)

一、引言 1.1 研究背景与意义 在医疗领域的改革进程中, DRG/DIP 2.0 时代,医院成本管理的重要性愈发凸显。新的医保支付方式下,医院的收入不再单纯取决于医疗服务项目的数量,而是与病种的分组、费用标准以及成本控制紧密相关。这…

游戏引擎 Unity - Unity 打开项目、Unity Editor 添加简体中文语言包模块、Unity 项目设置为简体中文

Unity Unity 首次发布于 2005 年,属于 Unity Technologies Unity 使用的开发技术有:C# Unity 的适用平台:PC、主机、移动设备、VR / AR、Web 等 Unity 的适用领域:开发中等画质中小型项目 Unity 适合初学者或需要快速上手的开…

edu小程序挖掘严重支付逻辑漏洞

edu小程序挖掘严重支付逻辑漏洞 一、敏感信息泄露 打开购电小程序 这里需要输入姓名和学号,直接搜索引擎搜索即可得到,这就不用多说了,但是这里的手机号可以任意输入,只要用户没有绑定手机号这里我们输入自己的手机号抓包直接进…

安卓/鸿蒙模拟位置信息-Fake Location模拟虚拟定位打卡

一、软件下载安装 需要用到的软件就一个即:FakeLocation虚拟打卡定位 下载地址:FakeLocation虚拟打卡定位.app 二、手机端设置 打开手机设置-关于手机-版本信息-版本号,连续点击版本号直到出现已进入开发者模式字样,此时打开手…

(一)DeepSeek大模型安装部署-Ollama安装

大模型deepseek安装部署 (一)、安装ollama curl -fsSL https://ollama.com/install.sh | sh sudo systemctl start ollama sudo systemctl enable ollama sudo systemctl status ollama(二)、安装ollama遇到网络问题,请手动下载 ollama-linux-amd64.tgz curl -L …