2021-05-12

如何通过Cloudera Manager为Kafka启用Kerberos及使用

1.文档编写目的

在CDH集群中启用了Kerberos认证,本文主要讲述通过Clouder Manager为kafka集群启用Kerberos认证及客户端配置使用。

内容概述

  1. 修改kafka配置
  2. 配置客户端
  3. 客户端测试Proudcer和Consumer

测试环境

  1. CentOS Linux release 7.9.2009 (Core)
  2. CM和CDH版本为6.2.1
  3. 采用root用户
  4. Kafka2.1.0

前置条件

  1. Kafka2.0.x或更高版本
  2. Cloudera Manager5.5.3或更高版本
  3. Kafka集群安装且正常运行
  4. 集群已启用Kerberos认证
  5. Kafka未与Sentry集成

2.修改Kafka配置

  1. 登录Cloudera Manager进入Kafka服务,修改ssl.client.auth配置为none

image.png

将broker配置为要求客户端验证。如下的设置是通用的:

ssl.client.auth=required 代表要求客户端验证

ssl.client.auth=requested代表客户端验证是可选的。不像要求客户端验证,如果设置了此选项,客户机可以选择不提供关于自身的身份验证信息。

ssl.client.auth=none 这意味着不需要客户端验证.

  1. Kafka启用Kerberos

image.png

  1. 修改security.inter.broker.protocol配置为SASL_PLAINTEXT

image.png

在broker之间用于通讯的监听器名称。如果这个没有被设置,监听器名称由security.inter.broker.protocol定义。同时设置此属性和security.inter.broker.protocol属性会导致错误。

 

  1. 保存以上修改的配置后,回到主页根据提示重启Kafka Server

image.png

image.png

 

3.配置客户端

1.创建jass.conf文件

 

#安全身份验证所需票据
KafkaClient{
 com.sun.security.auth.module.Krb5LoginModule required
 useTicketCache=true;
};

image.png

 

 

2.创建client.porperties文件,内容如下

security.protocol=SASL_PLAINTEXT 
#安全协议=SASL_PLAINTEXT 
sasl.kerberos.service.name=kafka
身份验证服务名=kafka

image.png

4.dloss1和dloss2都登录kafka.keytab用户

image.png

5.客户端测试Produce和Consumer

[root@dloss1~]# export KAFKA_OPTS="-Djava.security.auth.login.config=/root/jaas.conf"

image.png

[root@dloss1 ~]# kafka-console-producer --broker-list 10.120.21.151:9092 --topic kerberos --producer.config client.properties#生产者dloss1
[root@dloss2 ~]# kafka-console-consumer --topic kerberos --from-beginning --bootstrap-server 10.120.21.152:9092 --consumer.config client.properties消费者dloss2

 

image.pngimage.png

以上配置文件在dloss1、dloss1中都有配置 、且登录同一账号

且不管生产还是消费都需在client.properties文件所在目录中进行

5.总结

Kafka与CDH集群中的其它组件集成Kerberos稍有不同,需要做一些额外的配置。本篇文章主要讲述了如何启用Kerberos身份认证及客户配置使用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值