一、hdfs启动流程
1、加载fsimage,即加载元数据
2、加载edits文件,因为上面的fsimage并不一定包含最新的元数据
3、保存检查点(checkpoint),主要为了snn后面合并edits到fsimage时使用
4、进入安全模式,检查副本率是否满足冗余度的要求,或者是否完整,如果不满足就处于安全模式,无法写入。如果满足就退出安全模式。
二、基本操作命令
我们可以使用 hdfs dfs xxx 或者 hadoop fs xxx 都可以,两者是一样的。
完整的全部命令如下:
Usage: hadoop fs [generic options]
[-appendToFile <localsrc> ... <dst>]
[-cat [-ignoreCrc] <src> ...]
[-checksum <src> ...]
[-chgrp [-R] GROUP PATH...]
[-chmod [-R] <MODE[,MODE]... | OCTALMODE> PATH...]
[-chown [-R] [OWNER][:[GROUP]] PATH...]
[-copyFromLocal [-f] [-p] [-l] [-d] <localsrc> ... <dst>]
[-copyToLocal [-f] [-p] [-ignoreCrc] [-crc] <src> ... <localdst>]
[-count [-q] [-h] [-v] [-t [<storage type>]] [-u] [-x] <path> ...]
[-cp [-f] [-p | -p[topax]] [-d] <src> ... <dst>]
[-createSnapshot <snapshotDir> [<snapshotName>]]
[-deleteSnapshot <snapshotDir> <snapshotName>]
[-df [-h] [<path> ...]]
[-du [-s] [-h] [-x] <path> ...]
[-expunge]
[-find <path> ... <expression> ...]
[-get [-f] [-p] [-ignoreCrc] [-crc] <src> ... <localdst>]
[-getfacl [-R] <path>]
[-getfattr [-R] {-n name | -d} [-e en] <path>]
[-getmerge [-nl] [-skip-empty-file] <src> <localdst>]
[-help [cmd ...]]
[-ls [-C] [-d] [-h] [-q] [-R] [-t] [-S] [-r] [-u] [<path> ...]]
[-mkdir [-p] <path> ...]
[-moveFromLocal <localsrc> ... <dst>]
[-moveToLocal <src> <localdst>]
[-mv <src> ... <dst>]
[-put [-f] [-p] [-l] [-d] <localsrc> ... <dst>]
[-renameSnapshot <snapshotDir> <oldName> <newName>]
[-rm [-f] [-r|-R] [-skipTrash] [-safely] <src> ...]
[-rmdir [--ignore-fail-on-non-empty] <dir> ...]
[-setfacl [-R] [{-b|-k} {-m|-x <acl_spec>} <path>]|[--set <acl_spec> <path>]]
[-setfattr {-n name [-v value] | -x name} <path>]
[-setrep [-R] [-w] <rep> <path> ...]
[-stat [format] <path> ...]
[-tail [-f] <file>]
[-test -[defsz] <path>]
[-text [-ignoreCrc] <src> ...]
[-touchz <path> ...]
[-truncate [-w] <length> <path> ...]
[-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 <storagetype>] HDFS目录1 HDFS目录2..... 设置空间配额
hdfs dfsadmin -clrSpaceQuota [-storageType <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 |
原创文章,作者:kepupublish,如若转载,请注明出处:https://blog.ytso.com/192959.html