使用kerberose的hadoop文件系统

ifmq2ha2  于 2021-06-04  发布在  Hadoop
关注(0)|答案(1)|浏览(343)

我是hadoop文件系统的新手。我在google上没有找到任何与hadoop文件系统相关的有用链接。
我想在使用hadoop文件系统时使用kerberose进行身份验证。
示例代码:

Path src = new Path("C:\\testing\\a\\a.avro");
    Path dest = new Path("webhdfs://aaaa:50070/dummy/dummy.avro");
    WebHdfsFileSystem web = new WebHdfsFileSystem();
    try {
        Configuration conf = new Configuration();
        conf.set("fs.default.name","webhdfs://aaaa:50070");
        web.setConf(conf);
        FileSystem fs = FileSystem.get(web.getConf());
        fs.copyFromLocalFile(false,src,dest);
    } catch (IOException e) {
        e.printStackTrace();
    }
}

如何使用上述代码实现kerberos身份验证?如何设置原则和键表值?

q3aa0525

q3aa05251#

对您的问题的简短回答是:如果您将所有内容都配置正确,您的hdfs客户机代码就知道如何进行身份验证(与您在此处发布的代码完全无关)。
我建议您阅读hadoop安全教程。
配置安全hadoop(hadoop 1.3 hortonworks)
向配置文件添加安全信息(hadoop 2.0 hortonworks)
在cdh4中配置hadoop安全性
在cdh5中配置hadoop安全性
您的hdfs客户端似乎是windows系统。要访问kerberized集群(包括kerberized hdfs),您需要启用tgt会话访问,请参阅注册表项以允许在kerberos票证授予票证中发送会话密钥,并且您必须确保您的进程不是uac受限管理员(请参阅使用受限令牌无法访问会话密钥)。
您的集群不能是windows集群,kerberized windows集群仍在开发中(yarn-1063、yarn-1972等)。

相关问题