概述
我正在尝试连接到在Cloudera上运行的HDFS实例。我的第一个步骤启用Kerberos和创建Keytabs(如图所示这里)。
在下一步中,我想使用密钥表进行身份验证。
Configuration conf = new Configuration();
conf.set("fs.defaultFS", "hdfs://cloudera:8020");
conf.set("hadoop.security.authentication", "kerberos");
UserGroupInformation.setConfiguration(conf);
UserGroupInformation.loginUserFromKeytab("hdfs@CLOUDERA", "/etc/hadoop/conf/hdfs.keytab");
FileSystem fs = FileSystem.get(conf);
FileStatus[] fsStatus = fs.listStatus(new Path("/"));
for (int i = 0; i < fsStatus.length; i++) {
System.out.println(fsStatus[i].getPath().toString());
}
它失败并显示以下错误
java.io.IOException:从keytab /etc/hadoop/conf/hdfs.keytab登录hdfs @
CLOUDERA失败:javax.security.auth.login.LoginException:无法从用户获取密码
问题是:如何正确处理密钥表?我必须将其复制到本地计算机吗?
最后
以上就是畅快毛巾为你收集整理的java hdfs kerberos_从Windows使用Java和Kerberos Keytab访问Cloudera上的HDFS的全部内容,希望文章能够帮你解决java hdfs kerberos_从Windows使用Java和Kerberos Keytab访问Cloudera上的HDFS所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复