温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。
Fayson的github:
提示:代码块部分可以左右滑动查看噢
1
文档编写目的
Fayson在前面的文章《0500-使用Python2访问Kerberos环境下的Kafka》和《0501-使用Python访问Kerberos环境下的Kafka(二)》中介绍了两种方式访问Kerberos环境下的Kafka。在前面文章的基础上Fayson介绍在CDSW访问Kerberos环境下的Kafka。
在学习本篇文章内容前你还需要知道《如何通过Cloudera Manager为Kafka启用Kerberos及使用》。
- 内容概述:
1.环境准备
2.Python2示例代码
3.访问验证
4.总结
- 测试环境:
1.操作系统:Redhat7.4
2.CM和CDH版本为5.15.0
3.CDK2.2.0(0.10.2)
4.Python 2.7.15
2
CDSW运行环境准备
在使用Python访问Kafka前,还需要为Python环境安装相关的Kafka包,这里Fayson使用官网推荐使用的kafka-python依赖包。该依赖包的GitHub地址为:
https://github.com/dpkp/kafka-python,关于kafka-python的详细说明可以参考GitHub。
接下来在CDSW中准备Python访问Kafka的运行环境。
1.打开一个Python工程启动Session
会话启动成功
2.会话启动成功后在当前命令窗口执行如下命令安装gssapi依赖包
3.会话启动成功后在执行如下命令安装kafka-python依赖包
3
Python2示例代码
1.在CDSW中创建一个kafka_test.py文件,内容如下:
2.关于Kafka支持的属性配置可以参考如下地址
https://github.com/dpkp/kafka-python/blob/master/kafka/producer/kafka.py
4
访问验证
本文提供的示例代码为向Kerberos环境Kafka的test Topic中发送消息,在命令行使用Kafka提供的kafka-console-consumer命令消费Python示例生产的消息。
1.准备客户端消费配置文件
jaas.conf内容如下:
client.properties内容如下:
2.在命令行运行如下脚本启动客户端消费
3.在命令行运行python2的示例代码向test发送10条“some_message_bytes”消息
4.查看Kafka消费程序接收到两条消息
5
总结
1.kafka-python依赖包需要Python的环境有2.7、3.4、3.5、3.6
2.如果使用kafka-python访问Kerberos环境下的Kafka,需要安装gssapi依赖包,使用pip方式安装即可。
提示:代码块部分可以左右滑动查看噢
为天地立心,为生民立命,为往圣继绝学,为万世开太平。
温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。
推荐关注Hadoop实操,第一时间,分享更多Hadoop干货,欢迎转发和分享。