在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

相关文章:

  • 2021-07-25
  • 2022-12-23
  • 2021-08-06
  • 2022-12-23
  • 2021-06-01
  • 2021-09-20
  • 2021-12-15
猜你喜欢
  • 2021-12-01
  • 2021-05-24
  • 2021-12-17
  • 2021-09-23
  • 2021-06-29
  • 2021-07-22
  • 2021-11-28
相关资源
相似解决方案