您的位置:首页 > 运维架构 > Shell

hadoop-hdfs-shell命令

2017-05-26 11:13 399 查看
常用命令

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: