温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。
1.文档编写目的
在CDH集群中启用了Kerberos认证,那么我们的Kafka集群能否与Kerberos认证服务集成呢?本篇文章主要讲述如何通过Cloudera Manager为Kafka集群启用Kerberos认证及客户端配置使用。
1.修改Kafka配置
2.配置客户端
3.客户端测试Producer和Consumer
1.RedHat7.2
2.CM和CDH版本为5.11.2
3.采用sudo权限的ec2-user用户
4.Kafka2.2.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
2.Kafka启用Kerberos
3.修改security.inter.broker.protocol配置为SASL_PLAINTEXT
4.保存以上修改的配置后,回到主页根据提示重启Kafka Server
完成以上配置就可以为Kafka集群启用Kerberos认证。
3.配置客户端
1.创建jaas.conf文件
如果你先使用kinit初始化Kerberos账号,则jaas.conf配置文件内容如下:
KafkaClient{
com.sun.security.auth.module.Krb5LoginModule required
useTicketCache=true;
};
如果使用keytab文件初始化Kerberos账号,则jaas-keytab.conf配置文件内容如下:
root@ip-172-31-21-45ec2-user# vim jaas-keytab.conf
KafkaClient{
com.sun.security.auth.module.Krb5LoginModule required
useKeyTab=true
keyTab="/home/ec2-user/fayson.keytab"
principal="fayson@CLOUDERA.COM";
};
2.创建client.properties文件,内容如下
root@ip-172-31-21-45ec2-user# vim client.properties
security.protocol=SASL_PLAINTEXT
sasl.kerberos.service.name=kafka
4.客户端测试Producer和Consumer
1.设置KAFKA_OPTS环境变量
root@ip-172-31-21-45ec2-user# export KAFKA_OPTS="-Djava.security.auth.login.config=/home/ec2-user/jaas.conf"
或者
root@ip-172-31-21-45ec2-user# export KAFKA_OPTS="-Djava.security.auth.login.config=/home/ec2-user/jaas-keytab.conf"
如果使用jaas.conf文件设置环境变量则需要先使用kinit初始化Kerberos账号。
2.运行Kafka的Producer
root@ip-172-31-21-45ec2-user# kafka-console-producer--broker-list 172.31.21.45:9092 --topic test3 --producer.config client.properties
...
hello
world
3.运行Kafka的Consumer
root@ip-172-31-26-80ec2-user# export KAFKA_OPTS="-Djava.security.auth.login.config=/home/ec2-user/jaas.conf"
root@ip-172-31-26-80ec2-user# kafka-console-consumer--topic test3 --from-beginning --bootstrap-server 172.31.26.102:9092,172.31.21.45:9092,172.31.26.80:9092 --consumer.config client.properties
...
hello
world
5.总结
Kafka与CDH集群中的其它组件集成Kerberos稍有不同,需要做一些额外的配置。本篇文章主要讲述了如何启用Kerberos身份认证及客户配置使用,那么在代码开发中如何向已启用Kerberos认证的Kafka集群中生产和消费数据,Fayson在接下来的文章会做详细讲述。
参考文档:
https://www.cloudera.com/documentation/kafka/latest/topics/kafka_security.html#concept_lcn_4mm_s5
醉酒鞭名马,少年多浮夸! 岭南浣溪沙,呕吐酒肆下!挚友不肯放,数据玩的花! 温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。
推荐关注Hadoop实操,第一时间,分享更多Hadoop干货,欢迎转发和分享。
原创文章,欢迎转载,转载请注明:转载自微信公众号Hadoop实操
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有