2018.10.26
前言
某项目使用HDFS Java API操作HDFS,但在本地机器运行单元测试时发现会出现permission denied的问题,原因是该单元测试是直接操作HDFS集群,而本地运行单测时默认会使用本地机器的登录用户去操作HDFS。为了保证单测在不同机器上运行结果一致,就需要在配置HDFS时设置集群环境中的远程用户。
方法
参考Hadoop Java API Doc1,使用UserGroupInformation
创建一个远程用户:
UserGroupInformation ugi = UserGroupInformation.createRemoteUser('hdfsUser');
try {
ugi