系列文章目录

第一章 Kafka 配置部署及SASL_PLAINTEXT安全认证

第二章  Spring Boot 整合 Kafka消息队列 生产者

第三章  Spring Boot 整合 Kafka消息队列 消息者(待续)

1、下载安装

Kafka下载地址:Apache Kafka

# 下载文件
wget https://downloads.apache.org/kafka/3.5.1/kafka_2.12-3.5.1.tgz # 文件解压缩
tar -zxvf kafka_2.12-3.5.1.tgz # 修改目录名称
mv kafka_2.12-3.5.1 kafka_2.12 # 进入目录
cd kafka_2.12

2、Zookeeper 配置

2.1、修改 Zookeeper 配置文件 config/zookeeper.properties

# 编辑 zookeeper 配置文件
vim config/zookeeper.properties

2.2、Zookeeper 配置文件修改内容

dataDir=/tmp/zookeeper
# the port at which the clients will connect
clientPort=2181
# disable the per-ip limit on the number of connections since this is a non-production config
maxClientCnxns=0
# Disable the adminserver by default to avoid port conflicts.
# Set the port to something non-conflicting if choosing to enable this
admin.enableServer=false
# admin.serverPort=8080
authProvider.1=org.apache.zookeeper.server.auth.SASLAuthenticationProvider
requireClientAuthScheme=sasl
jaasLoginRenew=3600000

2.3、Zookeeper 配置文件增加配置说明

# 身份验证提供程序
authProvider.1=org.apache.zookeeper.server.auth.SASLAuthenticationProvider # 需要客户端身份验证方案
requireClientAuthScheme=sasl # jaas登录续订
jaasLoginRenew=3600000

2.4、Zookeeper 配置JAAS文件

# 配置JAAS文件
cat > config/zookeeper_jaas.conf << EOF
Server {
org.apache.kafka.common.security.plain.PlainLoginModule required
username="admin"
password="admin-2022"
user_kafka="kafka-2022"
user_producer="producer-2022";
};
EOF

2.5、Zookeeper 修改启动脚本 bin/zookeeper-server-start.sh

# 编辑启动脚本
vim bin/zookeeper-server-start.sh

2.6、Zookeeper 增加如下内容

export KAFKA_OPTS="-Djava.security.auth.login.config=/usr/local/kafka_2.12/config/zookeeper_jaas.conf"

3、Kafka 配置

3.1、修改 Kafka 配置文件 config/server.properties

# 编辑 Kafka 配置文件
vim config/server.properties

3.2、Kafka 配置文件修改内容

未做变更的不做展示

listeners=SASL_PLAINTEXT://0.0.0.0:9092
advertised.listeners=SASL_PLAINTEXT://192.168.1.95:9092
security.inter.broker.protocol=SASL_PLAINTEXT
sasl.enabled.mechanisms=PLAIN
sasl.mechanism.inter.broker.protocol=PLAIN # 完成身份验证的类
authorizer.class.name=kafka.security.authorizer.AclAuthorizer
# 如果没有找到ACL(访问控制列表)配置,则允许任何操作。
allow.everyone.if.no.acl.found=false
# 需要开启设置超级管理员,设置admin用户为超级管理员
super.users=User:admin

3.3、Kafka 配置JAAS文件

# 配置JAAS文件
cat > config/kafka_server_jaas.conf << EOF
KafkaServer {
org.apache.kafka.common.security.plain.PlainLoginModule required
username="admin"
password="admin-secret"
user_admin="admin-secret"
user_alice="secret";
};
KafkaClient {
org.apache.kafka.common.security.plain.PlainLoginModule required
username="kafka"
password="kafka-2022";
};
EOF

3.4、Kafka 修改启动脚本 bin/kafka-server-start.sh

# 编辑启动脚本
vim bin/kafka-server-start.sh

3.5、Kafka 增加如下内容

if [ "x$KAFKA_OPTS"  ]; then
export KAFKA_OPTS="-Djava.security.auth.login.config=/usr/local/kafka_2.12/config/kafka_server_jaas.conf"
fi

4、启动 Zookeeper

执行启动 Zookeeper 命令

# 执行启动 zookeeper 命令
./bin/zookeeper-server-start.sh -daemon config/zookeeper.properties

5、启动 Kafka

执行启动 Kafka 命令

# 执行启动 kafka 命令
./bin/kafka-server-start.sh -daemon config/server.properties

第一章 Kafka 配置部署及SASL_PLAINTEXT安全认证的更多相关文章

  1. Ruby on Rails Tutorial 第一章 之 Heroku部署

    1.目的:用Heroku将开发环境部署到生产环境中.Heroku专门用于部署Rails和其他Web应用,部署Rails应用的过程非常简单——只要源码纳入Git版本控制系统就好. 2.搭建Heroku部 ...

  2. 第一章· Redis入门部署及持久化介绍

    Redis简介 Redis安装部署 Redis持久化 Redis简介 软件说明: Redis是一款开源的,ANSI C语言编写的,高级键值(key-value)缓存和支持永久存储NoSQL数据库产品. ...

  3. 第一章、PyQt的简介、安装与配置

    老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 第一章.PyQt的简介.安装与配置 一.引言 当朋友向我推荐PyQt时,老猿才知道有这样一个在Pyt ...

  4. 《进击吧!Blazor!》系列入门教程 第一章 8.部署

    <进击吧!Blazor!>是本人与张善友老师合作的Blazor零基础入门教程视频,此教程能让一个从未接触过Blazor的程序员掌握开发Blazor应用的能力. 视频地址:https://s ...

  5. 第一章 数据库概述、MySQL的安装和配置

      第一章 数据库概述.MySQL的安装和配置   1.为什么要使用数据库 最早是纸质文件来存储数据 缺点:不易保存,占用空间大 计算机出现以后,采用软件来进行保存(excel) 缺点:容易损坏 文件 ...

  6. 疯狂Android第一章:Android环境配置以及基本概念

    第一章 无关痒痛:Android Studio安装,配置,基本功能介绍! 重点内容:Android应用基本结构分析. 基础概念部分(只需知道作用,原理后见代码): Activity:安卓系统中负责与用 ...

  7. 深入理解Magento - 第一章 - Magento强大的配置系统

    深入理解Magento 作者:Alan Storm翻译:zhlmmc 前言第一章 - Magento强大的配置系统第二章 - Magento请求分发与控制器第三章 - 布局,块和模板第四章 - 模型和 ...

  8. Kafka server部署配置优化

    Kafka配置优化其实都是修改server.properties文件中参数值 1.网络和io操作线程配置优化 # broker处理消息的最大线程数        num.network.threads ...

  9. Spring3实战第一章 Aop 切面 XML配置

    刚看spring3实战书籍第一章  切面以前没有关注过 现在看到了  随手试验一下 AOP AOP(Aspect Oriented Programming),即面向切面编程,可以说是OOP(Objec ...

  10. CentOS6安装各种大数据软件 第一章:各个软件版本介绍

    相关文章链接 CentOS6安装各种大数据软件 第一章:各个软件版本介绍 CentOS6安装各种大数据软件 第二章:Linux各个软件启动命令 CentOS6安装各种大数据软件 第三章:Linux基础 ...

随机推荐

  1. datawhale-大模型攻防比赛实践-第一次行动

    最近刚好是在写智能信息安全的教程,最后一章准备讲内容安全,里面有一节探讨大模型安全的内容,刚好可以拿比赛的内容当案例. 首先,可以通过modelscope平台获得GPU使用权限.然后你就可以跑base ...

  2. 最优化算法Nesterov Momentum牛顿动量法

    这是对之前的Momentum的一种改进,大概思路就是,先对参数进行估计,然后使用估计后的参数来计算误差 具体实现: 需要:学习速率 ϵ, 初始参数 θ, 初始速率v, 动量衰减参数α每步迭代过程:

  3. oracle - [01] 安装部署

    超级详细的Oracle安装图文详解!手把手教会您从下载到安装! https://blog.csdn.net/weixin_46329056/article/details/125451601

  4. C#语法糖foreach语句和using语句联合使用

    foreach语句可以和using语句联合使用,比如你需要对多个相机设备进行一些设置,设置完就调用 Dispose() 释放相机资源, 这时可以这样写: 模拟的设备类: class Device : ...

  5. python xlrd 读取表格 单元格值被覆盖

    代码实现顺序: 按行读取 按列读取 满足if条件 单元格值赋值给字典 实现代码: datas = []# 定义一个空列表 for i in range (3,nrows): sheet_data={} ...

  6. SpringSecurity5(1-快速入门)

    依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spri ...

  7. FastAPI依赖注入:参数共享与逻辑复用

    扫描二维码关注或者微信搜一搜:编程智域 前端至全栈交流与成长 第一章:依赖注入核心原理 1.1 依赖树构建机制 from fastapi import Depends def auth_service ...

  8. sudo: unable to resolve host xxxx: Name or service not known

    前言 在 Linux 环境中,我使用 sudo 执行命令,发生报错:sudo: unable to resolve host xxxx: Name or service not known 解决 这个 ...

  9. go 结构体多字段多因素排序

    前言 有时候我们需要处理一份数据,需要多个字段作为条件,联合进行排序. 代码 package main import ( "fmt" "sort" ) // 数 ...

  10. Mqtt集成与设计

    Mqtt集成 集成mqtt,我们首先得明白什么是mqtt: MQTT(Message Queuing Telemetry Transport)是一种轻量级.基于发布-订阅模式的消息传输协议,适用于资源 ...