【问题标题】:How to read hdfs file using webhdfs from a secure node?如何从安全节点使用 webhdfs 读取 hdfs 文件?
【发布时间】:2015-07-21 04:59:03
【问题描述】:

我想进行 webhdfs 调用以使用 Java 从安全节点检索文件。

这就是我正在做的事情 1.使用keytab登录(工作正常)。我得到一张 kerberos 票 2. 现在,当我尝试调用以下代码时,它会尝试通过进行 https 调用来获取委托令牌,但失败并显示 401 https://mynode:50070/webhdfs/v1/?op=GETDELEGATIONTOKEN&user.name=myuser

这是打开hdfs文件的代码 文件系统 webFS = FileSystem.get(new URI("swebhdfs://" + domain + "myfile"), conf);
BufferedReader br=new BufferedReader(new InputStreamReader(webFS.open(new Path("swebhdfs://" + domain + "myfile"))));

我的问题是,既然我有 kerberos 票证,如何将它传递给 UserGropupInformation 对象?

谢谢,

【问题讨论】:

    标签: hadoop kerberos webhdfs


    【解决方案1】:

    我假设您可以访问keytab 文件。 在连接到 hadoop 集群之前添加以下 sn-p。
    loginUserFromKeytab 方法将为指定用户加载并使用keytab 进行身份验证。 (简单来说“登录”)

    String user = "USER@REALM"
    String keyPath = "somekeytab.keytab"
    UserGroupInformation.loginUserFromKeytab(user, keyPath)
    

    UserGroupInformation 位于hadoop-common jar 中。

    参考:

    Authenticating Kerberos Principals in Java Code

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-06-13
      • 1970-01-01
      • 2019-08-22
      • 1970-01-01
      • 2019-06-22
      • 1970-01-01
      相关资源
      最近更新 更多