常用命令
1. -ls path
列出path目录下的内容,包括文件名,权限,所有者,大小和修改时间。
2. -lsr path
与ls相似,但递归地显示子目录下的内容。
3. -du path
显示path下所有文件磁盘使用情况下,用字节大小表示,文件名用完整的HDFS协议前缀表示。
4. -dus path
与-du相似,但它还显示全部文件或目录磁盘使用情况
5. -mv src dest
在HDFS中,将文件或目录从HDFS的源路径移动到目标路径。
6. -cp src dest
在HDFS中,将src文件或目录复制到dest。
7. –rm path
删除一个文件或目录
8. –rmr path
删除一个文件或递归删除目录
注意:这里的mv cp操作的源路径和目的路径都是在HDFS中的路径文件
9. –put localSrc dest
将本地文件或目录localSrc上传到HDFS中的dest路径。
10. –copyFromLocal localSrc dest
与-put命令相同
11. –moveFromLocal localSrc dest
将文件或目录从localSrc上传到HDFS中的dest目录,再删除本地文件或目录localSrc。
12 –get [-crc] src localDest
将文件或目录从HDFS中的src拷贝到本地文件系统localDest。
13 –getmerge src localDest [addnl]
将在HDFS中满足路径src的文件合并到本地文件系统的一个文件localDest中。
14 –cat filename
显示文件内容到标准输出上。
15. -copyToLocal [-crc] src localDest
与-get命令相同。
16 -moveToLocal [-crc] src localDest
与-get命令相似,但拷贝结束后,删除HDFS上原文件。
17 -mkdir path
在HDFS中创建一个名为path的目录,如果它的上级目录不存在,也会被创建,如同linux中的mkidr –p。
18 -setrep [-R] [-w] rep path
设置目标文件的复制数。
19 -touchz path
创建一个文件。时间戳为当前时间,如果文件本就存在就失败,除非原文件长充为0。
20 -test –[ezd] path
如果路径(path)存在,返回1,长度为0(zero),或是一个目录(directory)。
21 –stat [format] path
显示文件所占块数(%b),文件名(%n),块大小(%n),复制数(%r),修改时间(%y%Y)。
22 –tail [-f] file
显示文件最后的1KB内容到标准输出。
23 –chmod [-R] [owner][:[group]] path…
递归修改时带上-R参数,mode是一个3位的8进制数,或是[augo]+/-{rwxX}。
24 –chgrp [-R] group
设置文件或目录的所有组,递归修改目录时用-R参数。
25 –help cmd
显示cmd命令的使用信息,你需要把命令的“-”去掉
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]#合并文件到本地目录
文件修复
bin/hdfs fsck 指定目录 -files -blocks -racks
-files 表示目录下节点是文件还是目录
-blocks 显示block信息
-racks 显示机架信息
判断文件是否存在,存在就是删除
hadoop fs -test -e $HDFS_DIR
if [ $? -eq 0 ] ;then
hadoop fs -rm -r -skipTrash $HDFS_DIR
fi