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
    
  • 相关阅读:
    LeetCode【125. 验证回文串】
    LeetCode【122. 买卖股票的最佳时机 II】
    LeetCode【121. 买卖股票的最佳时机】
    LeetCode【119. 杨辉三角 II】
    LeetCode【118. 杨辉三角】
    LeetCode【112. 路径总和】
    PAT1024
    PAT1020
    PAT1018
    PAT1017
  • 原文地址:https://www.cnblogs.com/chenxiaoge/p/13335437.html
Copyright © 2011-2022 走看看