我一直在努力将如何将必要的参数传递给snakebite实用程序,以便能够访问kerberized集群。我已尝试在/ usr / local / etc / hadoop路径中设置必要的conf目录,以及使用kinit初始化和获取票证。
非常感谢在这方面的任何帮助或工作实例。
注意:我已通过使用'hadoop'CLI从同一台计算机访问群集来测试环境设置是否正确。
答案 0 :(得分:1)
您必须使用适当的keytab初始化即可。将自动使用主体名称获取结果。
答案 1 :(得分:0)
我建议您使用autoconfigure类来实现此目的:
from snakebite.client import AutoConfigClient
client = AutoConfigClient()
它支持HA,并通过HADOOP_HOME环境变量自动配置。
请确保您还拥有有效的密钥表
环境的klist输出如下所示(那里只有一个条目)
Credentials cache: API:1350E541-0CCD-46B9-938E-2C1C8E03A909
Principal: saurabh@HADOOP_DEV.MY-COMPANY.COM
Issued Expires Principal
May 31 16:45:30 2017 Jun 1 02:45:30 2017 krbtgt/HADOOP_DEV.MY-COMPANY.COM@HADOOP_DEV.MY-COMPANY.COM
这使我能够成功列出HDFS上的目录
hadoop fs -ls /user/saurabh