Hadoop创建⽤户及HDFS权限,HDFS操作等常⽤Shell命令
sudo addgroup #添加⼀个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 URI#拷贝本地⽂件到hdfshadoop 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 …] #拷贝hdfs⽂件到其它⽬录hadoop fs -du URI [URI …]#显⽰⽬录中所有⽂件的⼤⼩
hadoop fs -getmerge [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=
其实就是你的⽤户,对所操作的⽂件没有相应的权限,这⾥报错就很明显,没有写的权限,我们在测试的时候可以使⽤⼀个简单粗暴地⽅法,就是将所有⽂件的所有权限都开放,这样你跑代码就不会出现这种错误了切换到你的虚拟机界⾯命令如下:
hadoop fs -chmod -R 777 /
//这⾥是所有的⽂件均授予777权限 也可以指定某个⽂件夹进⾏赋权
之后在web端可以看到
⽂章素材来源,仅做学习整理: