四、hdfs命令行操作

一、hdfs启动流程

1、加载fsimage,即加载元数据
2、加载edits文件,因为上面的fsimage并不一定包含最新的元数据
3、保存检查点(checkpoint),主要为了snn后面合并edits到fsimage时使用
4、进入安全模式,检查副本率是否满足冗余度的要求,或者是否完整,如果不满足就处于安全模式,无法写入。如果满足就退出安全模式。

10年积累的网站制作、成都网站设计经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先建设网站后付款的网站建设流程,更有徐州免费网站建设让你可以放心的选择与我们合作。

二、基本操作命令

我们可以使用 hdfs dfs xxx 或者 hadoop fs xxx 都可以,两者是一样的。

完整的全部命令如下:

Usage: hadoop fs [generic options]
        [-appendToFile  ... ]
        [-cat [-ignoreCrc]  ...]
        [-checksum  ...]
        [-chgrp [-R] GROUP PATH...]
        [-chmod [-R]  PATH...]
        [-chown [-R] [OWNER][:[GROUP]] PATH...]
        [-copyFromLocal [-f] [-p] [-l] [-d]  ... ]
        [-copyToLocal [-f] [-p] [-ignoreCrc] [-crc]  ... ]
        [-count [-q] [-h] [-v] [-t []] [-u] [-x]  ...]
        [-cp [-f] [-p | -p[topax]] [-d]  ... ]
        [-createSnapshot  []]
        [-deleteSnapshot  ]
        [-df [-h] [ ...]]
        [-du [-s] [-h] [-x]  ...]
        [-expunge]
        [-find  ...  ...]
        [-get [-f] [-p] [-ignoreCrc] [-crc]  ... ]
        [-getfacl [-R] ]
        [-getfattr [-R] {-n name | -d} [-e en] ]
        [-getmerge [-nl] [-skip-empty-file]  ]
        [-help [cmd ...]]
        [-ls [-C] [-d] [-h] [-q] [-R] [-t] [-S] [-r] [-u] [ ...]]
        [-mkdir [-p]  ...]
        [-moveFromLocal  ... ]
        [-moveToLocal  ]
        [-mv  ... ]
        [-put [-f] [-p] [-l] [-d]  ... ]
        [-renameSnapshot   ]
        [-rm [-f] [-r|-R] [-skipTrash] [-safely]  ...]
        [-rmdir [--ignore-fail-on-non-empty]  ...]
        [-setfacl [-R] [{-b|-k} {-m|-x } ]|[--set  ]]
        [-setfattr {-n name [-v value] | -x name} ]
        [-setrep [-R] [-w]   ...]
        [-stat [format]  ...]
        [-tail [-f] ]
        [-test -[defsz] ]
        [-text [-ignoreCrc]  ...]
        [-touchz  ...]
        [-truncate [-w]   ...]
        [-usage [cmd ...]]

1、获取命令帮助

hdfs dfs -help command
如:
hdfs dfs -help ls

2、创建目录

hdfs dfs -mkdir HDFS路径
选项:-p  递归创建目录

3、列出目录信息

hdfs dfs -ls HDFS路径
选项:-R 递归显示所有目录以及目录下的所有子目录和文件

4、上传文件或者目录

hdfs dfs -put 本地路径  HDFS路径
hdfs dfs -copyFromLocal 本地路径 hdfs路径
hdfs dfs -moveFromLocal 本地路径 hdfs路径  这个会删除本地文件

5、下载文件或者目录

hdfs dfs -get HDFS路径 本地路径 
hdfs dfs -copyToLocal HDFS路径 本地路径

6、查看文件内容

hdfs dfs -cat HDFS路径

7、将本地文件内容追加到HDFS文件中

hdfs dfs -appendToFile 本地路径 HDFS路径

8、监控文件内容

hdfs dfs -tail -f HDFS路径

9、删除文件或目录

hdfs dfs -rm HDFS路径
选项:-r 递归删除子目录

注意:默认回收站关闭,所以删除的文件立马就没了

10、合并数据并下载到本地

hdfs dfs -getmerge HDFS路径1 HDFS路径2 ....  本地路径

11、统计类

hdfs dfs -count HDFS路径     统计 目录个数  文件个数  总的文件数
hdfs dfs -du HDFS路径        显示目录或者文件的大小
hdfs dfs -df HDFS路径        显示空间使用情况

12、复制和剪切

hdfs dfs -cp HDF***c HDFSdest   HDFS内部复制
hdfs dfs -mv HDF***c HDFSdest   HDFS内部剪切

13、文件权限

hdfs dfs -chown user:group HDFS路径   修改属主属组
hdfs dfs -chmod 权限 HDFS路径         修改权限

14、设置副本数

hdfs dfs -setrep n HDFS路径

三、管理命令

1、均衡datanode

hdfs balancer  将多个datanode节点进行数据均衡处理,避免有些节点存储数据过多

2、打印运行报告

hdfs dfsadmin -report

3、安全模式

hdfs dfsadmin -safemode  enter|leave|get  进入安全模式|离开安全模式|获取安全模式状态

4、快照

hdfs dfsadmin -allowSnapshot HDFS目录   给某个目录做快照
hdfs dfsadmin -disableSnapshot HDFS目录   给某个目录取消快照

5、配额

//名称配额,简单说就是该目录下文件和目录的总个数的限制
hdfs dfsadmin -setQuota N HDFS目录1 HDFS目录2.....  设置名称配额
hdfs dfsadmin -clrQuota HDFS目录1 HDFS目录2.....    取消名称配额

//空间配额,简单说就是该目录的存储空间限制
hdfs dfsadmin -setSpaceQuota N单位(如:1GB) [-storageType ] HDFS目录1 HDFS目录2..... 设置空间配额
hdfs dfsadmin -clrSpaceQuota [-storageType ] HDFS目录1 HDFS目录2..... 取消空间配额

其中 storageType 有以下类型:
RAW-DISK:原始物理磁盘
DISK:    分区空间
SSD:     固态硬盘
ARCHIVE:   

四、hadoop启动相关命令

命令作用命令
启动/停止历史服务器 mr-jobhistory-daemon.sh start|stop historyserver
启动/停止总资源管理器 yarn-daemon.sh start|stop resourcemanager
启动/停止节点管理器 yarn-daemon.sh start|stop nodemanager
启动/停止 NN 和 DN start|stop-dfs.sh
启动/停止 RN 和 NM start|stop-yarn.sh
启动/停止 NN、DN、RN、NM start|stop-all.sh
启动/停止 NN hadoop-daemon.sh start|stop namenode
启动/停止 DN hadoop-daemon.sh start|stop datanode

本文名称:四、hdfs命令行操作
文章位置:http://ybzwz.com/article/ijgcoj.html