前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >0898-7.1.7-如何在CDP中为Kafka集成OpenLDAP

0898-7.1.7-如何在CDP中为Kafka集成OpenLDAP

作者头像
Fayson
发布2022-12-14 18:45:12
8890
发布2022-12-14 18:45:12
举报
文章被收录于专栏:Hadoop实操

1.文档编写目的

本篇文章主要介绍如何在CDP 7.1.7集群中为Kafka集成OpenLDAP

  • 文档概述

1.前置环境配置及验证

2.集成OpenLDAP

3.验证

  • 测试环境

1.操作系统Redhat7.6

2.CDP7.1.7

3.使用root用户操作

4.集群已启用Kerberos

5.集群OpenLDAP服务正常运行

6.集群OpenLDAP服务未启用SSL&&TLS

2.前置环境配置

1.这里是Fayson在集成kafka&OpenLDAP前的环境信息

为Kafka启用了Kerberos认证,并且已经集成了Ranger服务

2.验证目前环境是否正常

登陆服务器,正常kinit认证Kerberos凭据

代码语言:javascript
复制
kinit kafka
klist

设置KAFKA_OPTS环境变量

代码语言:javascript
复制
$ export KAFKA_OPTS="-Djava.security.auth.login.config=/root/kafka_kb/jass.conf"
Jass.conf 
内容
KafkaClient{
    com.sun.security.auth.module.Krb5LoginModule required
    useTicketCache=true;
};

运行Kafka Producer

代码语言:javascript
复制
kafka-console-producer --broker-list hadoop99.macro.com:9092 --topic test1 --producer.config client.properties

新开机器连接,连接Kakfa Consumer,测试是否正常实时消费

代码语言:javascript
复制
export KAFKA_OPTS="-Djava.security.auth.login.config=/root/kafka_kb/jass.conf"
kafka-console-consumer --topic test1 --from-beginning --bootstrap-server hadoop99.macro.com:9092 --consumer.config client.properties

环境检测正常

3.集成LDAP

1.进入CM>Kafka>配置>sasl,选择LDAP。

2.进入CM>Kafka>配置>LDAP,输入信息。

3.进入CM>Kafka>配置> Inter Broker Protocol,选择SASL_PLAINTEXT

4.保存配置后重启服务即可

4.验证

代码语言:javascript
复制
user.ldif
dn: uid=kafka_test,ou=People,dc=macro,dc=com
uid: kafka_test
cn: kafka_test
objectClass: account
objectClass: posixAccount
objectClass: top
objectClass: shadowAccount
userPassword: 12345678
shadowLastChange: 15678
shadowMin: 0
shadowMax: 99999
shadowWarning: 7
loginShell: /usr/bash
uidNumber: 12346
gidNumber: 12346
homeDirectory: /home/kafka_test
代码语言:javascript
复制
group.ldif
dn: cn=kafka_test,ou=Group,dc=macro,dc=com
objectClass: posixGroup
objectClass: top
cn: kafka_test
userPassword: {crypt}x
gidNumber: 20010

导入新增的测试用户

代码语言:javascript
复制
ldapadd -D "cn=Manager,dc=macro,dc=com" -W -x -f user.ldif
ldapadd -D "cn=Manager,dc=macro,dc=com" -W -x -f group.ldif
ldapsearch -b "dc=macro,dc=com" -D "cn=Manager,dc=macro,dc=com" -W | grep dn

2.登陆Ranger服务,为新增的用户赋权,这里为了方便测试,直接赋权all

注意:这里的all-topic和all-consumergroup都需要赋权

3.回到机器,编写登陆文件

代码语言:javascript
复制
jass.conf
KafkaClient {
     org.apache.kafka.common.security.plain.PlainLoginModule required
     username="kafka_test"
     password="12345678";
};
代码语言:javascript
复制
ldap-client.properties
security.protocol=SASL_PLAINTEXT
sasl.mechanism=PLAIN

4.验证登陆

producer

代码语言:javascript
复制
export KAFKA_OPTS="-Djava.security.auth.login.config=/root/kafka_user/jaas.conf"
kafka-console-producer --bootstrap-server hadoop99.macro.com:9092 --topic kafka_test --producer.config ./ldap-client.properties

Consumer

代码语言:javascript
复制
export KAFKA_OPTS="-Djava.security.auth.login.config=/root/kafka_user/jaas.conf"
kafka-console-consumer --bootstrap-server hadoop99.macro.com:9092  --topic kafka_test --consumer.config ./ldap-client.properties

5.总结

1.在 Ranger中对于LDAP用户赋权的时候,topic和consumergroup都需要赋权,不然会出现报错Not authorized to aceess group:console-consumer-xxxx

2.集成LDAP的时候,需要注意ranger.ldap.bind.dn属性需要与自己的环境对应

3.如果LDAP启用了SSL或者TLS的话,则需要额外配置CA证书才行

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-10-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Hadoop实操 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
SSL 证书
腾讯云 SSL 证书(SSL Certificates)为您提供 SSL 证书的申请、管理、部署等服务,为您提供一站式 HTTPS 解决方案。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档