Kafka数据推送配置 | 如何设置账号密码验证?

背景:之前资产信息用网络接口进行数据推送,但是接口推送需要验证而且反应较慢。Kafak中间件提供了另一种可行的数据推送方式,它可以进行消息队列推送,且反应速度快。但是Kafka需部署在公网环境,并进行登录验证,如果部署Kafka后未设置登录验证,会被恶意扫描到,此时向Kafka里面push超过1G的文件,将会直接导致Kafka宕掉。

为了避免Kafka宕掉,建设在使用Kafka过程中配置登录验证,以下是Kafka登录验证的配置过程。

1、修改kafka配置文件:

vim /asop/kafka/kafka_2.11-2.1.0/config/server.properties

broker.id=0

listeners=SASL_PLAINTEXT://:9092

advertised.listeners=SASL_PLAINTEXT://1.1.1.1:9092

num.network.threads=3

num.io.threads=8

socket.send.buffer.bytes=102400

socket.receive.buffer.bytes=102400

socket.request.max.bytes=104857600

log.dirs=/asop/kafka/logs

num.partitions=1

num.recovery.threads.per.data.dir=1

offsets.topic.replication.factor=1

transaction.state.log.replication.factor=1

transaction.state.log.min.isr=1

log.retention.hours=168

log.segment.bytes=1073741824

log.retention.check.interval.ms=300000

zookeeper.connect=localhost:2181

zookeeper.connection.timeout.ms=6000

group.initial.rebalance.delay.ms=0

#使用的认证协议

security.inter.broker.protocol=SASL_PLAINTEXT

#SASL机制

sasl.enabled.mechanisms=PLAIN

sasl.mechanism.inter.broker.protocol=PLAIN

#完成身份验证的类

authorizer.class.name=kafka.security.auth.SimpleAclAuthorizer

#如果没有找到ACL(访问控制列表)配置,则允许任何操作。

allow.everyone.if.no.acl.found=false

#需要开启设置超级管理员,设置visitor用户为超级管理员

super.users=User:visitor

2、为server创建登录验证文件(可以自主命名文件)

如vim
/asop/kafka/kafka_2.11-2.1.0/config/kafka_server_jaas.conf

文件内容如下

KafkaServer {

org.apache.kafka.common.security.plain.PlainLoginModule required

username=“visitor”

password=“qaz@123”

user_visitor=“qaz@123”;

};

3、修改kafka安装目录

vim /asop/kafka/kafka_2.11-2.1.0/bin/kafka-server-start.sh,在文件最上面添加变量

export KAFKA_OPTS=" -Djava.security.auth.login.config=/asop/kafka/kafka_2.11-2.1.0/config/kafka_server_jaas.conf"在这里插入图片描述
4、为consumer和producer创建登录验证文件(可自主命名文件)

如kafka_client_jaas.conf,文件内容如下(如果是程序访问,如springboot访问,可以不配置)

vim /asop/kafka/kafka_2.11-2.1.0/config/kafka_client_jaas.conf

KafkaClient {

org.apache.kafka.common.security.plain.PlainLoginModule required

username=“visitor”

password=“qaz@123”;

};

在这里插入图片描述
5、在consumer.properties和producer.properties里分别加上如下配置

vim /asop/kafka/kafka_2.11-2.1.0/config/consumer.properties

vim /asop/kafka/kafka_2.11-2.1.0/config/producer.properties

security.protocol=SASL_PLAINTEXT

sasl.mechanism=PLAIN

6、修改kafka安装目录bin/kafka-console-producer.sh和bin/kafka-console-consumer.sh

在文件最上面添加变量

vim /asop/kafka/kafka_2.11-2.1.0/bin/kafka-console-producer.sh

export KAFKA_OPTS=" -Djava.security.auth.login.config=/asop/kafka/kafka_2.11-2.1.0/config/kafka_client_jaas.conf"在这里插入图片描述
7、分别启动zookeeper和kafka,至此服务端kafka用户登录验证配置完成(先关闭kafka后关闭zookeeper)

关闭服务kafka

/asop/kafka/kafka_2.11-2.1.0/bin/kafka-server-stop.sh -daemon /asop/kafka/kafka_2.11-2.1.0/config/server.properties

关闭服务zookeeper-3.4.13

/asop/zk/zookeeper-3.4.13/bin/zkServer.sh stop /asop/zk/zookeeper-3.4.13/conf/zoo.cfg

启动服务zookeeper-3.4.13

/asop/zk/zookeeper-3.4.13/bin/zkServer.sh start /asop/zk/zookeeper-3.4.13/conf/zoo.cfg

启动服务kafka

#/asop/kafka/kafka_2.11-2.1.0/bin/kafka-server-start.sh -daemon /asop/kafka/kafka_2.11-2.1.0/config/server.properties

8、创建及查看主题

/asop/kafka/kafka_2.11-2.1.0/bin/kafka-console-producer.sh --broker-list 1.1.1.1:9092 --topic cmdb --producer-property security.protocol=SASL_PLAINTEXT --producer-property sasl.mechanism=PLAIN

在这里插入图片描述
接收消息

/asop/kafka/kafka_2.11-2.1.0/bin/kafka-console-consumer.sh --bootstrap-server 1.1.1.1:9092 --topic cmdb --from-beginning --consumer-property security.protocol=SASL_PLAINTEXT --consumer-property sasl.mechanism=PLAIN

在这里插入图片描述
以上就是本期的全部内容。大家好,我是乐乐,专注IT运维技术研究与分享,更多运维知识请关注乐维社区,如有运维问题也欢迎到社区提问!

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

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

相关文章

excel 动态列导出

excel动态列,只好用poi来写了,也并不复杂,一样就这个件事情抽像为几步,就是套路了,开发效率就上去了。 1 准备空模板 导出操作与excel模板的导出一样,可以参考excel导出标准化 2 自定义SheetWriteHandler …

网络信息安全:11个常见漏洞类型汇总

一、SQL注入漏洞 SQL注入攻击(SQL Injection),简称注入攻击、SQL注入,被广泛用于非法获取网站控制权,是发生在应用程序的数据库层上的安全漏洞。 在设计程序,忽略了对输入字符串中夹带的SQL指令的检查&…

前端上传图片后如何回显图片

在前端上传图片后,可以使用以下几种方法进行回显: 1.使用FileReader API:这是一种常见的方法。在用户选择图片后,可以使用FileReader对象读取图片文件,并将其转换为Base64编码的字符串。然后,将该Base64字…

嵌入式学习 Day 30

消息队列、共享内存、信号灯: 1.IPC对象(内存文件) 1.ipcs 查看系统重的消息队列、共享内存、信号灯的信息 2.ipcrm 删除消息队列、共享内存、信号灯 ipcrm -Q/-M/-S key ipcrm -q/-m/-s 消息队列ID/共享内存ID/信号灯ID 2.消息队列 1.操作…

定时执行专家的主要功能和使用场景

定时执行专家是一款功能强大且实用的定时任务软件。它具有以下优点: 功能丰富: 支持多种定时模式、多种任务类型、丰富的触发方式、强大的日志功能等。易于使用: 操作界面简洁直观,易于上手。稳定可靠: 运行稳定可靠,可长期使用。 具体来说&…

【k8s管理--集群日志管理elk】

1、ELKF日志部署框架 使用docker部署的k8s集群所有的容器日志统一都在目录:/var/log/containers/1、filebeat是一个轻量级的日志手机工具,主要功能是收集日志2、logstash通可以收集日志,也可以进行数据清洗,但是一般不用logstash来…

WordPress 从入门到精通【设置 WordPress】

前言:为方便演示,前几张图使用 Playground 环境截取 如果你还不会部署WordPress,请看下面的链接并使用雨云可视化构建一个WordPress站点: 超简单EP面板搭建WordPress网站教程 - 风屿岛 10 (biliwind.com) 进入仪表盘 在搭建完…

面试问题总结(软实力相关)

最近在准备面试,整理一些面试常被问到一些非技术方面的软实力相关的,把这些问题烂熟于心,至少保证在回答的时候逻辑清晰。 1、自我介绍 需要展示你对这个目标岗位的理解,主动挖掘自己跟这个岗位的匹配点。 2、面试官反问&#xf…

分享Web.dev.cn中国开发者可以正常访问

谷歌开发者很高兴地宣布,web.dev 和 Chrome for Developers 现在都可以通过 .cn 域名访问,这将帮助中国的开发者更加容易获取我们的内容。 在 .cn 域名上,我们已向您提供所有镜像后的内容,并提供支持的语言版本。 Web.dev 中国开…

房屋中介服务平台的设计与实现(含源文件)

项目源码:https://gitee.com/oklongmm/biye2 在设计一个房屋中介服务平台时,我们需要考虑系统的可扩展性,易用性和稳定性。以下是系统设计的主要功能模块: 一、用户模块: 用户注册与登录:提供用户注册和登…

自然语言处理(NLP)练习题

问题:什么是自然语言处理(NLP)? 答案:自然语言处理(NLP)是一种人工智能技术,旨在让计算机理解和处理人类语言。NLP涉及语言学、计算机科学和人工智能等多个领域,旨在开发…

Vue项目中使用Mock.js进行API模拟

Vue项目中使用Mock.js进行API模拟 🌟 前言 欢迎来到我的小天地,这里是我记录技术点滴、分享学习心得的地方。📚 🛠️ 技能清单 编程语言:Java、C、C、Python、Go、前端技术:Jquery、Vue.js、React、uni-ap…

leetcode 经典题目42.接雨水

链接:https://leetcode.cn/problems/trapping-rain-water 题目描述 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 思路分析 首先,我们需要遍历数组,对于每个元素&am…

特种车日常检修VR虚拟互动培训软件节省大量的教学资源和成本

随着科技的不断发展,虚拟现实(VR)技术已经逐渐融入了各行各业,其中特种车辆的养护教学也从中受益匪浅。VR虚拟仿真教学在特种车辆养护领域的应用,不仅创新了教学方式,还为提高学员的学习效果和实际操作技能提供了强有力的支持。 特…

从Socks5代理到HTTP代理IP的安全探索与趣味发现

在当今数字化时代,网络安全和隐私保护已经成为我们生活中不可或缺的一部分。而了解代理服务、网络协议以及网络安全,将有助于我们更好地理解和保护自己在网络世界中的权益。本文将带领大家探索Socks5代理、代理IP、HTTP协议等概念,并揭示其中…

05-prometheus的联邦模式-分布式监控

一、联邦模式概述 1,架构介绍 由于,在大型企业中,被监控项目比较多,多到一台prometheus服务无法承载其大量的监控数据的传输,所以,联邦模式应运而生,它同等于zabbix监控的分布式,就…

C/C++蓝桥杯之纪念日问题

算从1921年7月23日中午12时到2020年7月1日一共多少分钟&#xff1f; C语言实现&#xff1a; #include<stdio.h> #include<stdbool.h> bool leapyear(int year) {if (year % 4 0 && year % 100 ! 0 || year % 400 0){return 1;}else{return 0;} } int m…

『大模型笔记』测试本地大模型运行框架Ollama(支持macOS/Windows/Linux)

测试本地大模型运行框架Ollama(支持macOS/Windows/Linux) 文章目录 一. Ollama介绍1.1. 安装1.1.1. 直接安装1.1.2. Docker安装1.2. 下载和运行模型1.3. Ollama目前支持的模型(截止到2024-03-05,持续更新)1.4. Ollama ModelFile(模型文件)二. Open WebUI2.1. 主要特点2.2. Doc…

【代码随想录算法训练营Day37】738.单调递增的数字;总结

文章目录 ❇️Day 37 第八章 贪心算法 part06✴️今日任务❇️738.单调递增的数字自己的思路自己的代码&#xff08;✅通过94.27%&#xff09;随想录思路随想录代码 ☑️968.监控二叉树 &#xff08;可以跳过&#xff09;&#x1f234;总结 ❇️Day 37 第八章 贪心算法 part06 …

sentinel docker 基础配置学习

1&#xff1a;去官网下载 Releases alibaba/Sentinel GitHub 2&#xff1a;保存到linux 3&#xff1a;编写dockerfile FROM openjdk:8-jreLABEL authors"xxx" #第二步创建一个文件夹Z RUN mkdir /app #第三步复制jar 到app 下 COPY xxxxxx-1.8.7.jar /app/#第四…