Java访问开安全的hdfs测试说明

  其他常见问题
内容纲要

概要说明

Java程序连接开启安全的hdfs需要额外配置安全方面的配置文件krb5.conf与有效的keytab,关于获取keytab与查看keytab对应principal,详见KB:Guardian新建用户、修改用户密码、下载keytab及赋权Guardian租户相关操作

详细步骤

file
首先建议您统一开启集群所有服务的安全,开启安全后,重新下载解压TDH-Client,source /root/TDH-Client/init.sh。将集群中的一些hdfs相关的jar包下载到本地,放到项目的External Libraries中。将集群中hdfs.keytab,krb5.conf,core-site.xml,hdfs-site.xm放到项目resources下。
file

需要下载的hadoop相关jar包:
file

常见问题:
(1)Could not read password file: /etc/hdfs1/conf/ldap-conn-pass.txt
Caused by: java.io.FileNotFoundException: \etc\hdfs1\conf\ldap-conn-pass.txt (系统找不到指定的路径。)

file

注释core-site.xml中hadoop.security.group.mapping.ldap.bind.password.file即可
file

(2)Login failure for hdfs@TDH from keytab, Caused by: javax.security.auth.login.LoginException: Unable to obtain password from user
file

file

这种情况一般是keytab与principal不对应导致。
file
(3)
Permission denied: user=zyq_public, access=WRITE, inode="/inceptor1":hive:hive:drwx–x–x in the default POSIX ACLs

file
这是因为hdfs的/tmp目录对于其他用户是没有作任何限制的,但其他路径,比如/incetor1,会有相应限制。
file
可以赋予相应权限来处理,具体可参考KB:Guardian新建用户、修改用户密码、下载keytab及赋权

这篇文章对您有帮助吗?

平均评分 0 / 5. 次数: 0

尚无评价,您可以第一个评哦!

非常抱歉,这篇文章对您没有帮助.

烦请您告诉我们您的建议与意见,以便我们改进,谢谢您。