Windows 环境 python读需kerberos认证的hdfs

在Windows环境下,使用Python读取kerberos认证的HDFS遇到困难,由于krbcontext库的pwd子包不支持Windows,导致无法建立连接。官方示例代码依赖于Linux环境,尝试了各种替代方案未果,最终选择使用Spark进行开发。
摘要由CSDN通过智能技术生成

Windows 环境 python读需kerberos认证的hdfs

不喜欢废话,直接先上结论:
Windows环境下python读kerberos认证的hdfs不支持,即使用anaconda中的也不行,因为再撸代码过程中,必须引用krbcontext包来认证,krbcontext提供了一个kerberos上下文,可以将代码放入其中,其中 需要凭据缓存中的有效票证。但是krbcontext包中的引用包pwd不支持Windows环境,pyspark也不能绕不开krbcontext包。

不废话直接上官方例子:
hdfs模块的官方文档地址是 https://hdfscli.readthedocs.io/en/latest/ ,
下面是一段代码示例:
krbcontext 和 hdfs 是python连接hdfs时需要用到的库,它所建立的连接本质上是一个http连接,安装hdfs时,需要指定kerberos插件
pip install hdfs[kerberos]
pip install krbcontext

代码:
from hdfs.ext.kerberos import KerberosClient
from krbcontext import krbcontext

keytab_file = ‘/etc/coolpython.keytab’
principal = ‘hadoop/admin@coolpython.net’

with krbcontext(using_keytab=True, keytab_file=keytab_file, principal=principal, ccache_file=’/tmp/cache_keytab_zds’):
client = KerberosCl

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值