zoukankan      html  css  js  c++  java
  • hadoop,hbase,hive,spark遇到无权限问题Permission denied: user=root, access=WRITE解决

    在hadoop,hbase,hive,spark执行某些命令时,可能遇到以下问题

    Permission denied: user=root, access=WRITE, inode="/user":hdfs:supergroup:drwxr-xr-x
    

    这是因为root用户没有相应权限导致的
    解决方法有以下几种

    1.第一种解决方案

    在hdfs上/user目录下创建root目录,需要在HDFS上有一个用户主目录

    作为HDFS用户登录并为root创建一个主目录。

    # su hdfs  
    $ hdfs dfs -mkdir /user/root  
    $ hdfs dfs -chown root:root /user/root  
    

    如果已经有了/user/root ,查看下文件的权限

    # hdfs dfs -ls /user 
    

    改为root所有:

    $ hdfs dfs -chown root:root /user/root  
    

    2.第二种解决方案

    第一步:su hdfs,进入hdfs用户。

    # su hdfs
    

    第二步:hadoop fs -ls /,看看user的权限。

    $ hadoop fs -ls /
    Found 3 items
    drwxr-xr-x   - hbase hbase               0 2019-11-21 12:04 /hbase
    drwxrwxrwt   - hdfs  supergroup          0 2019-11-15 19:38 /tmp
    drwxr-xr-x   - hdfs  supergroup          0 2019-11-21 19:25 /user
    

    第三步:修改权限

    $ hadoop fs -chmod 777 /user
    
    $ hadoop fs -ls /
    Found 3 items
    drwxr-xr-x   - hbase hbase               0 2019-11-21 12:04 /hbase
    drwxrwxrwt   - hdfs  supergroup          0 2019-11-15 19:38 /tmp
    drwxrwxrwx   - hdfs  supergroup          0 2019-11-21 19:25 /user
    

    3.第三种解决方案

    在执行命令前执行以下命令

    export HADOOP_USER_NAME=hdfs
    

    4.第四种解决方案

    使用hdfs用户执行命令

    sudo -u hdfs hadoop fs -mkdir /xxx
    
  • 相关阅读:
    java输出菱型
    java----内部类
    java中的多重继承
    java算法--三个数字比较大小
    Python基础(2)
    Python基础(1)
    Redis主从同步
    一种高效的进程间的通信方式
    自旋锁和互斥锁的区别
    Linux读写锁的使用
  • 原文地址:https://www.cnblogs.com/chenxiaoge/p/13335437.html
Copyright © 2011-2022 走看看