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

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");
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • HDFS入门 hadoop架构 Hadoop 1.0中的资源管理方案 Hadoop 1.0指的是版本为Apache...
    依天立业阅读 1,159评论 0 1
  • 当数据量增大到超出了单个物理计算机存储容量时,有必要把它分开存储在多个不同的计算机中。那些管理存储在多个网络互连的...
    单行线的旋律阅读 1,970评论 0 7
  • 通过API操作HDFS 今天的主要内容 HDFS获取文件系统 HDFS文件上传 HDFS文件下载 HDFS目录创建...
    须臾之北阅读 2,744评论 0 3
  • 可能大家对- (id)valueForKeyPath:(NSString *)keyPath方法不是很了解。 其实...
    如果我们是朋友阅读 329评论 0 0
  • 水潾潾 山濛濛 船悠悠 青柳微摆头 梧桐斑斓 黄叶婆娑 风掠残荷 簌簌若心动 西泠桥若隐若现 放鹤亭静卧林间 阳光...
    风言无语阅读 220评论 4 8