kafka 0.10.1.1的SASL入门配置教程

2024-01-07 07:38

本文主要是介绍kafka 0.10.1.1的SASL入门配置教程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

刚测通的kafka的producer和consumer,下来准备搞一下kafka的认证,SSL比较复杂,而且影响性能,内部暂时不考虑,因此把目标定在了SASL上。本来以为按照网上的教程简单配置一下很快就能搞定的,结果没有一个能用的,走了好多弯路,花了一天多才搞定,因此记录一下,此次的配置针对的是kafka0.10.1.1的版本

配置分为3部分,zookeeper的配置、broker的配置和producer以及consumer的配置。

第一部分 zookeeper的配置

进入kafka目录执行 vi kafka_zoo_jaas.conf

Server {org.apache.kafka.common.security.plain.PlainLoginModule requiredusername="admin"password="admin-secret"user_admin="admin-secret";
};

vi bin/zookeeper-server-start.sh在文档的倒数第二行加入以下内容:

export KAFKA_OPTS=" -Djava.security.auth.login.config=/usr/local/kafka1011/kafka_zoo_jaas.conf"

然后执行vi config/zookeeper.properties添加zookeeper.properties中的配置如下:

authProvider.1=org.apache.zookeeper.server.auth.SASLAuthenticationProvider
requireClientAuthScheme=sasl
jaasLoginRenew=3600000

执行./bin/zookeeper-server-start.sh config/zookeeper.properties 启动zookeeper成功。

在zookeeper这里卡了很久,主要是一开始没有意识到是zookeeper的问题。

第二部分 broker的配置

vi kafka_server_jaas.conf

KafkaServer {org.apache.kafka.common.security.plain.PlainLoginModule requiredusername="admin"password="admin-secret"user_admin="admin-secret"user_producer="prod-sec"user_consumer="cons-sec";
};
Client {
org.apache.kafka.common.security.plain.PlainLoginModule requiredusername="admin"password="admin-secret";
};

不知道是不是跟kafka的版本有关系,我看别人这里配置的不是Client。

cp bin/kafka-server-start.sh bin/secured-kafka-server-start.sh
vi bin/secured-kafka-server-start.sh

在最后一行改为以下内容

exec $base_dir/kafka-run-class.sh $EXTRA_ARGS -Djava.security.auth.login.config=/usr/local/kafka1011/kafka_server_jaas.conf kafka.Kafka "$@"

然后vi $KAFKA_HOME/server.properties或者vi config/server.properties加入以下内容:

security.inter.broker.protocol=SASL_PLAINTEXT
sasl.enabled.mechanisms=PLAIN
sasl.mechanism.inter.broker.protocol=PLAIN
authorizer.class.name=kafka.security.auth.SimpleAclAuthorizer
allow.everyone.if.no.acl.found=true
super.users=User:admin
执行./bin/secured-kafka-server-start.sh ./config/server.properties观察日志,成功。

第三部分 producer以及consumer的配置

vi writer_jaas.conf

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

vi producer.properties 和consumer.properties

security.protocol=SASL_PLAINTEXT
sasl.mechanism=PLAIN

cp bin/kafka-console-consumer.sh bin/reader-kafka-console-consumer.sh
vi bin/reader-kafka-console-consumer.sh

cp bin/kafka-console-producer.sh bin/writer-kafka-console-producer.sh
vi bin/writer-kafka-console-producer.sh

修改writer-kafka-console-producer.sh与reader-kafka-console-consumer.sh文件

最后一行改为

exec $(dirname $0)/kafka-run-class.sh -Djava.security.auth.login.config=/usr/local/kafka1011/writer_jaas.conf kafka.tools.ConsoleProducer "$@"

再用kafka-acls.sh对用户进行授权

./bin/kafka-acls.sh --authorizer-properties zookeeper.connect=10.1.8.16:2181,10.1.8.15:2181,10.1.8.14:2181 --add --allow-principal User:admin --operation Read --operation Write --topic replica


然后启动writer-kafka-console-producer.sh

./bin/writer-kafka-console-producer.sh --broker-list 10.1.8.16:9092,10.1.8.15:9092,10.1.8.14:9092 --topic replica --producer.config config/producer.properties


./bin/reader-kafka-console-consumer.sh --bootstrap-server 10.1.8.16:9092,10.1.8.15:9092,10.1.8.14:9092 --topic replica --from-beginning --consumer.config config/consumer.properties 


下面是一些错误的汇总


zookeeper配置不正确,zookeeper.properties中缺少了那三行配置


kafka_server_jaas.conf与对应的kafka_zoo_jaas.conf错误


kafka_server_jaas.conf中的应为Client而不是KafkaClient


这个错误是第一次配置时出来的,想了一下第一次的配置与最终版本的配置差异较大,出了这种问题的话建议重来吧


这个是kafka_zoo_jaas.conf中配置的问题,网上搜的资料是配置为zookeeper,但是实际上应该为Server。

压力测试命令

./bin/kafka-producer-perf-test.sh --topic test-pati3-rep2 --throughput 500000 --num-records 1500000 --record-size 1000 --producer.config config/producer.properties --producer-props bootstrap.servers=10.1.8.16:9092,10.1.8.15:9092,10.1.8.14:9092 acks=1

下周准备尝试下多用户的配置,到时候继续更新。

这篇关于kafka 0.10.1.1的SASL入门配置教程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/579191

相关文章

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin

Zookeeper安装和配置说明

一、Zookeeper的搭建方式 Zookeeper安装方式有三种,单机模式和集群模式以及伪集群模式。 ■ 单机模式:Zookeeper只运行在一台服务器上,适合测试环境; ■ 伪集群模式:就是在一台物理机上运行多个Zookeeper 实例; ■ 集群模式:Zookeeper运行于一个集群上,适合生产环境,这个计算机集群被称为一个“集合体”(ensemble) Zookeeper通过复制来实现

CentOS7安装配置mysql5.7 tar免安装版

一、CentOS7.4系统自带mariadb # 查看系统自带的Mariadb[root@localhost~]# rpm -qa|grep mariadbmariadb-libs-5.5.44-2.el7.centos.x86_64# 卸载系统自带的Mariadb[root@localhost ~]# rpm -e --nodeps mariadb-libs-5.5.44-2.el7

hadoop开启回收站配置

开启回收站功能,可以将删除的文件在不超时的情况下,恢复原数据,起到防止误删除、备份等作用。 开启回收站功能参数说明 (1)默认值fs.trash.interval = 0,0表示禁用回收站;其他值表示设置文件的存活时间。 (2)默认值fs.trash.checkpoint.interval = 0,检查回收站的间隔时间。如果该值为0,则该值设置和fs.trash.interval的参数值相等。

NameNode内存生产配置

Hadoop2.x 系列,配置 NameNode 内存 NameNode 内存默认 2000m ,如果服务器内存 4G , NameNode 内存可以配置 3g 。在 hadoop-env.sh 文件中配置如下。 HADOOP_NAMENODE_OPTS=-Xmx3072m Hadoop3.x 系列,配置 Nam

Makefile简明使用教程

文章目录 规则makefile文件的基本语法:加在命令前的特殊符号:.PHONY伪目标: Makefilev1 直观写法v2 加上中间过程v3 伪目标v4 变量 make 选项-f-n-C Make 是一种流行的构建工具,常用于将源代码转换成可执行文件或者其他形式的输出文件(如库文件、文档等)。Make 可以自动化地执行编译、链接等一系列操作。 规则 makefile文件

wolfSSL参数设置或配置项解释

1. wolfCrypt Only 解释:wolfCrypt是一个开源的、轻量级的、可移植的加密库,支持多种加密算法和协议。选择“wolfCrypt Only”意味着系统或应用将仅使用wolfCrypt库进行加密操作,而不依赖其他加密库。 2. DTLS Support 解释:DTLS(Datagram Transport Layer Security)是一种基于UDP的安全协议,提供类似于

【Python编程】Linux创建虚拟环境并配置与notebook相连接

1.创建 使用 venv 创建虚拟环境。例如,在当前目录下创建一个名为 myenv 的虚拟环境: python3 -m venv myenv 2.激活 激活虚拟环境使其成为当前终端会话的活动环境。运行: source myenv/bin/activate 3.与notebook连接 在虚拟环境中,使用 pip 安装 Jupyter 和 ipykernel: pip instal

usaco 1.1 Broken Necklace(DP)

直接上代码 接触的第一道dp ps.大概的思路就是 先从左往右用一个数组在每个点记下蓝或黑的个数 再从右到左算一遍 最后取出最大的即可 核心语句在于: 如果 str[i] = 'r'  ,   rl[i]=rl[i-1]+1, bl[i]=0 如果 str[i] = 'b' ,  bl[i]=bl[i-1]+1, rl[i]=0 如果 str[i] = 'w',  bl[i]=b

搭建Kafka+zookeeper集群调度

前言 硬件环境 172.18.0.5        kafkazk1        Kafka+zookeeper                Kafka Broker集群 172.18.0.6        kafkazk2        Kafka+zookeeper                Kafka Broker集群 172.18.0.7        kafkazk3