zoukankan      html  css  js  c++  java
  • 操作hdfs文件权限错误

    使用指定用户和指定权限建文件夹和文件

    创建文件时报错:

    Caused by: org.apache.hadoop.ipc.RemoteException (org.apache.hadoop.security.AccessControlException): Permission denied: user=administrater, access=WRITE, inode="/test":root:supergroup:drwxr-xr-x

    解决办法有多种

    1. 通过代码的方式来设置当前用户名为 root,代码里添加如下代码:

      System.setProperty("HADOOP_USER_NAME", "root");

    2. 通过-D参数来设置当前操作的用户名;

    在执行代码的时候通过 -D 参数来指定 HADOOP_USER_NAME 为 root:java -DHADOOP_USER_NAME root TestMkDir,这样在执行程序的时候,程序获取到的系统中的变量 HADOOP_USER_NAME 的值就是 root,当前用户 就设为root。

    3. 设多级目录,改变对应目录权限

    在 /folder目录下创建 /folder1/folder2只需要把 /folder1的目录权限设置为所有人可读,可写,可执行即可:chmod /folder1 777

    4. 通过hdfs的命令直接改文件权限

    例子:hadoop fs -chown [-R] [OWNER][:[GROUP]] URI [URI ],

    hdfs dfs -chown -R Administrator:Administrator /user/  #更改组、用户权限
    hdfs dfs -chown -R Administrator /user/wocheck  #更改用户
    hdfs dfs -chgrp -R Administrator /use  #更改组权限

  • 相关阅读:
    Linux外部设备的使用
    Linux硬件信息查询
    Linux中swap分区设置
    状态检测型防火墙
    CentOS更换源,亲测可用
    Linux文件权限序列简述
    Linux终端打印文本色彩
    Linux 系统命令之netstat
    Linux配置DNS服务器
    水题一枚
  • 原文地址:https://www.cnblogs.com/zyanrong/p/11995768.html
Copyright © 2011-2022 走看看