產生問題原因:
環境hadoop2,cdh5創建
使用hadoop fs -mdkir /use/xxx創建文件路徑時,出現權限問題
前提我們已經把當前用戶zhangsan和root放到/etc/suders中。
su root vi /etc/sudoers root ALL=(ALL) ALL zhangsan ALL=(ALL) NOPASSWD:ALL su zhangsan [zhangsan@cdh107 ~]$ hadoop fs -ls /user Found 7 items drwxrwxrwx - mapred hadoop 0 2018-11-12 14:07 /user/history drwxrwxr-t - hive hive 0 2018-11-12 14:09 /user/hive drwxrwxr-x - hue hue 0 2018-11-12 14:09 /user/hue drwxrwxr-x - impala impala 0 2018-11-12 14:09 /user/impala drwxrwxr-x - oozie oozie 0 2018-11-12 14:09 /user/oozie drwxr-x--x - spark spark 0 2018-11-12 15:14 /user/spark drwxrwxr-x - sqoop2 sqoop 0 2018-11-12 14:08 /user/sqoop2
創建目錄/user/zhangsan拋出異常:
[zhangsan@cdh107 ~]$ hadoop fs -mkdir /user/wangyou mkdir: Permission denied: user=zhangsan, access=WRITE, inode="/user":hdfs:supergroup:drwxr-xr-x [zhangsan@cdh107 ~]$ sudo hadoop fs -mkdir /user/wangyou mkdir: Permission denied: user=root, access=WRITE, inode="/user":hdfs:supergroup:drwxr-xr-x
解決步驟:
1.查看/user目錄的用戶和用戶組
[zhangsan@cdh107 ~]$ hadoop fs -ls / Found 3 items drwxr-xr-x - hbase hbase 0 2018-11-12 14:59 /hbase drwxrwxrwt - hdfs supergroup 0 2018-11-12 14:09 /tmp drwxr-xr-x - hdfs supergroup 0 2018-11-12 14:09 /user
備注:從上邊可以看出我們想在/user路徑下創建用戶,但是/user路徑的用戶是hdfs,用戶組是supergroup,當我們使用zhangsan或者root時提示創建失敗,因此我們要修改創建/user/wangyou的用戶。
2.使用hdfs這個用戶登錄來創建目錄/user/wangyou
[zhangsan@cdh107 ~]$ sudo -uhdfs hadoop fs -mkdir /user/wangyou [zhangsan@cdh107 ~]$ hadoop fs -ls /user Found 8 items drwxr-xr-x - hdfs supergroup 0 2018-11-13 16:43 /user/wangyou drwxrwxrwx - mapred hadoop 0 2018-11-12 14:07 /user/history drwxrwxr-t - hive hive 0 2018-11-12 14:09 /user/hive drwxrwxr-x - hue hue 0 2018-11-12 14:09 /user/hue drwxrwxr-x - impala impala 0 2018-11-12 14:09 /user/impala drwxrwxr-x - oozie oozie 0 2018-11-12 14:09 /user/oozie drwxr-x--x - spark spark 0 2018-11-12 15:14 /user/spark drwxrwxr-x - sqoop2 sqoop 0 2018-11-12 14:08 /user/sqoop2
3.通過hdfs用戶更改所在用戶的權限
[zhangsan@cdh107 ~]$ sudo -uhdfs hadoop fs -chown zhangsan:zhangsan /user/wangyou [zhangsan@cdh107 ~]$ hadoop fs -ls /user Found 8 items drwxr-xr-x - zhangsan zhangsan 0 2018-11-13 16:43 /user/wangyou drwxrwxrwx - mapred hadoop 0 2018-11-12 14:07 /user/history drwxrwxr-t - hive hive 0 2018-11-12 14:09 /user/hive drwxrwxr-x - hue hue 0 2018-11-12 14:09 /user/hue drwxrwxr-x - impala impala 0 2018-11-12 14:09 /user/impala drwxrwxr-x - oozie oozie 0 2018-11-12 14:09 /user/oozie drwxr-x--x - spark spark 0 2018-11-12 15:14 /user/spark drwxrwxr-x - sqoop2 sqoop 0 2018-11-12 14:08 /user/sqoop2
如果spark2-shell出現這個錯誤,如何解決參考《問題解決:Permission denied: user=root, access=WRITE, inode="/user":hdfs:supergroup:drwxr-xr-x》