0

我一直在努力研究如何将必要的参数传递给蛇咬实用程序,以便它能够访问一个 kerberized 集群。我尝试在 /usr/local/etc/hadoop 路径中设置必要的 conf 目录,以及使用 kinit 初始化和获取票证。

在这方面的任何帮助或工作示例将不胜感激。

注意:我已经通过使用“hadoop”CLI 从同一台机器访问集群来测试环境设置是否正确。

4

2 回答 2

2

我建议您为此目的使用自动配置类:

from snakebite.client import AutoConfigClient
client = AutoConfigClient()

它支持 HA 并通过 HADOOP_HOME 环境变量自动配置。

请确保您也有一个有效的密钥表

环境的 klist 输出如下所示(那里只有 1 个条目)

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 
于 2017-05-30T17:25:29.283 回答
1

您必须使用正确的 keytab 进行 kinit 就足够了。它将通过主体名称自动获取结果。

于 2020-07-24T03:57:47.133 回答