美文网首页
IDEA 操作虚拟机中 HDFS 提示 Permission d

IDEA 操作虚拟机中 HDFS 提示 Permission d

作者: dabao005 | 来源:发表于2019-03-25 23:38 被阅读0次

IDEA 对虚拟机中 HDFS 进行文件操作,提示权限拒绝 org.apache.hadoop.security.AccessControlException: Permission denied

使用 API 对 HDFS 进行写入文件的时候提示如下:

org.apache.hadoop.security.AccessControlException: Permission denied: user=dabao, access=WRITE, inode="/":hadoop:supergroup:drwxr-xr-x

产生原因

当前用户 dabao 对,hdfs 的 / 目录没有操作权限,只有 hadoop 用户有权限,即虚拟机中建立来使用 HADOOP 的用户

解决方法

第一类:修改权限

方法1:虚拟机中直接hadoop fs -chmod 777 /

方法2:修改到Namenode上修改hadoop的配置文件:etc/hadoop/hdfs-site.xml 加入

<property>
<name>dfs.permissions</name>
<value>false</value>
</property>

第二类:修改操作用户

具体用户名根据自己情况

方法1:用户环境变量添加 HADOOP_USER_NAME=hadoop,需重启电脑

方法2:IDEA 的 VM 添加 -DHADOOP_USER_NAME=hadoop

方法3:代码中设置系统变量,需在加载配置类创建 fileSystem 对象前

System.setProperty("HADOOP_USER_NAME", "hadoop");
Configuration configuration = new Configuration();

方法4:直接使用含用户名入参的方法创建 fileSystem 对象

fileSystem = FileSystem.get(new URI("hdfs://node01:9000"),configuration, "hadoop");

相关文章

网友评论

      本文标题:IDEA 操作虚拟机中 HDFS 提示 Permission d

      本文链接:https://www.haomeiwen.com/subject/etzivqtx.html