Hadoop 创建用户及HDFS权限,HDFS操作等常用Shell命令

sudo addgroup Hadoop#添加一个hadoop组
sudo usermod -a -G hadoop larry#将当前用户加入到hadoop组
sudo gedit etc/sudoers#将hadoop组加入到sudoer
在root ALL=(ALL) ALL后 hadoop ALL=(ALL) ALL

修改hadoop目录的权限
sudo chown -R larry:hadoop /home/larry/hadoop<所有者:组 文件>

sudo chmod -R 755 /home/larry/hadoop

修改hdfs的权限
sudo bin/hadoop dfs -chmod -R 755 /
sudo bin/hadoop dfs -ls /

修改hdfs文件的所有者

sudo bin/hadoop fs -chown -R larry /

sudo bin/hadoop dfsadmin -safemode leave #解除hadoop的安全模式

hadoop fs -copyFromLocal <localsrc> URI#拷贝本地文件到hdfs


hadoop fs -cat file:///file3 /user/hadoop/file4#将路径指定文件的内容输出到stdout


hadoop fs -chgrp [-R] GROUP URI#改变文件的所属组


hadoop fs -chmod [-R] 755 URI#改变用户访问权限


hadoop fs -chown [-R] [OWNER][:[GROUP]] URI [URI ]#修改文件的所有者


hadoop fs -copyToLocal URI localdst#拷贝hdfs文件到本地


hadoop fs -cp URI [URI …] <dest>#拷贝hdfs文件到其它目录


hadoop fs -du URI [URI …]#显示目录中所有文件的大小


hadoop fs -getmerge <src> <localdst> [addnl]#合并文件到本地目录

在IDEA中使用Java API 或者 Scala API 操作HDFS的时候,有时候会报这个错误:

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

其实就是你的用户,对所操作的文件没有相应的权限,这里报错就很明显,没有写的权限,我们在测试的时候可以使用一个简单粗暴地方法,就是将所有文件的所有权限都开放,这样你跑代码就不会出现这种错误了
切换到你的虚拟机界面
命令如下:

hadoop fs -chmod -R 777 /
//这里是所有的文件均授予777权限 也可以指定某个文件夹进行赋权

之后在web端可以看到

文章素材来源,仅做学习整理:

https://blog.csdn.net/Apache_Jerry/article/details/85139459

https://www.linuxidc.com/Linux/2012-05/60635.htm

原文地址:https://www.cnblogs.com/hkgov/p/13914788.html