window上部署kafka3.6.1,并配置sasl认证

news2024/9/30 23:05:58

1 安装kafka

第一步安装kafka,并能成功启动,可参考文章Windows下安装Kafka3-CSDN博客


2 修改kafka的配置文件

server.properties是kafka的主要配置文件,里面有很多参数可以调整。

主要修改如下

listeners=SASL_PLAINTEXT://127.0.0.1:9092
sasl.enabled.mechanisms=PLAIN
sasl.mechanism.inter.broker.protocol=PLAIN
security.inter.broker.protocol=SASL_PLAINTEXT

在server.properties中,你需要修改以下几个参数:

  • listeners:这是kafka的监听地址和端口,可以有多个。我们需要添加一个sasl_plaintext类型的监听器,表示使用sasl和明文传输。例如,我们可以设置为listeners=SASL_PLAINTEXT://127.0.0.1:9092,PLAINTEXT://:9093
  • sasl.enabled.mechanisms=PLAIN 启用 PLAIN 认证机制,这是一种基于用户名和密码的简单认证方式

  • sasl.mechanism.inter.broker.protocol=PLAIN 在broker之间使用 PLAIN 机制进行SASL认证

  • security.inter.broker.protocol=SASL_PLAINTEXT Kafka broker之间的通信将使用 SASL_PLAINTEXT 协议。这是为了保证内部通信的安全性


3 创建kafka_server_jaas.conf文件

这里我们定义了一个KafkaServer段,表示kafka服务器端使用的认证模块。我们使用PlainLoginModule,并指定了用户名和密码。我们还定义了两个用户,admin和alice,并分别给他们设置了密码。

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

 4 设置系统属性

我们在kafka-server-start.bat文件,设置环境变量,指向刚才的认证文件

set KAFKA_OPTS=-Djava.security.auth.login.config=D:\kafka_2.12-3.6.1\config\kafka_server_jaas.conf

然后我们启动kafka,如果能正常启动,则表明kafka服务端的验证配置已经完成


5 修改springboot项目的配置文件

这里只看关键配置,这里的用户名和密码要和之前配置文件里的一样,才能访问kafka

spring:
  kafka:
    producer: 
      properties:
        security.protocol: SASL_PLAINTEXT
        sasl.mechanism: PLAIN
        sasl.jaas.config: org.apache.kafka.common.security.plain.PlainLoginModule required username="admin" password="123456";
    consumer: 
      properties:
        security.protocol: SASL_PLAINTEXT
        sasl.mechanism: PLAIN
        sasl.jaas.config: org.apache.kafka.common.security.plain.PlainLoginModule required username="admin" password="123456";

注意:sasl.jaas.config配置项别忘了带; 要不然会报错 

如果kafka客户端密码错误,则会报错

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

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

相关文章

基于tkinter实现学生管理系统(四)

学生信息管理系统-修改学生 代码实现 在上一节中的class StudentManagerApp中添加如下方法: # 修改学生信息def modify_student(self):selection self.tree.selection()if not selection:messagebox.showwarning("警告", "请选择要修改的学员"…

04:创建PADS Logic软件逻辑库

1. 打开自带的库文件 2.保留common库,移除其他库文件 3.新建库 5点击封装工具栏 6选择2D线 7添加端点 8点击保存 9打开查看

SQLi-LABS靶场46-50通过攻略

less-46 1.判断注入点 ?sort1 页面出现报错 2.判断闭合方式 ?sort1 -- 3.查询数据库 因为页面有报错 所以使用报错注入 ?sort1 and updatexml(1,concat(1,database()),1)-- 4.查询数据库的所有表 ?sort1 and updatexml(1,concat(1,(select group_concat(table_name)…

【功能自动化】使用HTMLTestRunner生成测试报告

配置环境: 1.部署webtours网站 2.user.txt 3.HTMLTestRunner.py """ A TestRunner for use with the Python unit testing framework. It generates a HTML report to show the result at a glance.The simplest way to use this is to invoke it…

【Go高性能】测试(单元测试、基准测试)

Go测试 一、分类1. 单元测试2. 基准测试 二、基准测试1. 介绍2. 基准测试基本原则3. 使用testing包构建基准测试3.1 执行基准测试3.2 基准测试工作原理3.3 改进基准测试的准确性3.3.1 -benchtime3.3.2 -count3.3.3 -cpu 4. 使用benchstat工具比较基准测试(可跳过)4.…

Leetcode 第 408 场周赛题解

Leetcode 第 408 场周赛题解 Leetcode 第 408 场周赛题解题目1:3232. 判断是否可以赢得数字游戏思路代码复杂度分析 题目2:3233. 统计不是特殊数字的数字数量思路代码复杂度分析 题目3:3234. 统计 1 显著的字符串的数量思路代码复杂度分析 题…

Pycharm can‘t open file ‘D:\\Program‘: [Errno 2] No such file or directory

问题描述 Pycharm 使用Python 3.11.9 版本调试代码报错: 解决方案 1、WindowsR,调起CMD(PowerShell不行),执行以下指令: mklink /J "D:\PyCharm" "D:\Program Files\JetBrains\PyCharm 2…

react学习之useState和useEffect

useState useState 可以使函数组件像类组件一样拥有 state,函数组件通过 useState 可以让组件重新渲染,更新视图。 实际使用 setstate()中回调函数的返回值将会成为新的state值回调函数执行时, React会将最新的state值作为参数传递 const A…

Vulkan进阶系列1 - Raytracing 光线查询

一:概述 为了提高效率,光线追踪需要将几何体组织成加速结构(AS, 即Acceleration Structure),以减少渲染过程中光线与三角形的相交测试次数。这种层次结构通常在硬件中实现,但只有两个层级对用户可见:一个顶层加速结构(TLAS),它引用任意数量的底层加速结构(BLAS)。通…

Linux进程间的通信(一)exec函数族,getenv获取系统环境变量,system和popen的区别,文件和记录锁定通信

目录 几个系统关键api exec函数族 getenv() system() 文件和记录锁定通信 在Linux/Unix系统中,进程间通信方式(Inter-Process Comunication)通常有如下若干中方式: 1、文件和记录锁定 2、管道 3、信号 4、system-V 5、PO…

贪心算法三道经典题(买卖股票,分发饼干)

贪心算法 贪心的本质是选择每一阶段的局部最优,从而达到全局最优。 步骤: 将问题分解为若干个子问题找出适合的贪心策略求解每一个子问题的最优解将局部最优解堆叠成全局最优解 分发饼干 LeetCode原题 找满足孩子数量的最大值———最优解问题 什么…

数据同步大冒险:PostgreSQL到MySQL的奇妙之旅

引言:一场跨数据库的浪漫邂逅 💑 在数据的世界里,不同数据库系统就像是来自不同星球的恋人,它们各自拥有独特的魅力,但偶尔也会渴望一场跨越界限的亲密接触。今天,我们就来见证一场PostgreSQL与MySQL之间的…

初赛试题-2022年CSP-J3

先言 本次试卷 完善程序 三、完善程序(每题3分,共30分) (1) 【答案】 A B C D A (2) 【答案】 A B C D A

探索用于小占用关键词检测的TinyML框架:一个简明概述

目录 摘要 第一部分:引言 第二部分:部署TinyML的常见挑战 第三部分:SF-KWS的不同方法 A. 网络架构(Network Architecture) B. 学习技术(Learning Techniques) C. 模型压缩(Mo…

最新黑名单查询录入系统PHP网站源码

源码介绍: 最新黑名单查询录入系统PHP网站源码 前端html 后端layui 操作部分都采用API接口的方式实线 集结了layui表格的多数据操作,添加,批量删除,分页,单项删除 后台数据修改采用绑定参数的形式来进行修改可以很…

C语言函数递归(含扫雷进阶思路)

文章目录 一、什么是递归二、递归的使用思路和限制条件1.递归的使用思路2.递归的限制条件 三、递归的举例举例1:求n的阶乘2.举例2:顺序打印⼀个整数的每⼀位 四、递归与迭代对比五、递归与迭代对比举例七、扫雷进阶思路 一、什么是递归 递归是学习C语⾔函…

暄桐教室分享“闲人”指南

一种理想的生活状态,叫“做个闲人”,如苏东坡《行香子述怀》那般,“对一张琴,一壶酒,一溪云”,放下纷扰,好自在。然而,闲并不是简单的无事可做,让自己时光充沛、能量聚集…

MacOS使用FileZilla通过ssh密钥文件连接远程服务器(已解决)

需求描述 mac电脑,使用filezilla通过FTP连接远程服务器,使用ssh密钥文件代替密码。 版本信息 MacOS:Sonoma 14.5 M3芯片 FileZilla:3.66.5 在这里插入图片描述 连接 1. 创建站点 打开filezilla工具,右上角选择“文件 -> 站点管理器”,打开站点管理器弹窗。 2.…

vue 动态替换父组件

替换父组件?? 什么鬼??? 这个场景的确很少见!!不过我们要说的的确是要替换父组件!!!!!! 就是子组件内容不变但是父组件变…