美文网首页
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