hadoop之hdfs命令详解
发布日期:2021-05-09 09:32:57 浏览次数:10 分类:博客文章

本文共 22909 字,大约阅读时间需要 76 分钟。

本篇主要对hadoop命令和hdfs命令进行阐述,yarn命令会在之后的文章中体现

    hadoop fs命令可以用于其他文件系统,不止是hdfs文件系统内,也就是说该命令的使用范围更广可以用于HDFS、Local FS等不同的文件系统。而hdfs dfs命令只用于HDFS文件系统;

一、hadoop命令

使用语法:hadoop [--config confdir] COMMAND #其中config用来覆盖默认的配置

##command #子命令fs                   run a generic filesystem user clientversion              print the versionjar 
run a jar filechecknative [-a|-h] check native hadoop and compression libraries availabilitydistcp
copy file or directories recursivelyarchive -archiveName NAME -p
*
create a hadoop archiveclasspath prints the class path needed to get thecredential interact with credential providers Hadoop jar and the required librariesdaemonlog get/set the log level for each daemons3guard manage data on S3trace view and modify Hadoop tracing settings

1、archive 

创建一个hadoop压缩文件,详细的可以参考 http://hadoop.apache.org/docs/r2.7.0/hadoop-archives/HadoopArchives.html

使用格式:hadoop archive -archiveName NAME -p <parent path> <src>* <dest>  #-p 可以同时指定多个路径

实例:

[hive@mwpl003 ~]$ hadoop fs -touchz /tmp/test/a.txt[hive@mwpl003 ~]$ hadoop fs -ls /tmp/test/Found 1 items-rw-r--r--   3 hive supergroup          0 2019-09-18 13:50 /tmp/test/a.txt[hive@mwpl003 ~]$ hadoop archive -archiveName test.har -p  /tmp/test/a.txt -r 3 /tmp/test19/09/18 13:52:58 INFO mapreduce.JobSubmitter: number of splits:119/09/18 13:52:58 INFO mapreduce.JobSubmitter: Submitting tokens for job: job_1565571819971_698819/09/18 13:52:58 INFO impl.YarnClientImpl: Submitted application application_1565571819971_698819/09/18 13:52:58 INFO mapreduce.Job: The url to track the job: http://ip_address:8088/proxy/application_1565571819971_6988/19/09/18 13:52:58 INFO mapreduce.Job: Running job: job_1565571819971_698819/09/18 13:53:04 INFO mapreduce.Job: Job job_1565571819971_6988 running in uber mode : false19/09/18 13:53:04 INFO mapreduce.Job:  map 0% reduce 0%19/09/18 13:53:08 INFO mapreduce.Job:  map 100% reduce 0%19/09/18 13:53:13 INFO mapreduce.Job:  map 100% reduce 100%19/09/18 13:53:13 INFO mapreduce.Job: Job job_1565571819971_6988 completed successfully19/09/18 13:53:13 INFO mapreduce.Job: Counters: 49        File System Counters                FILE: Number of bytes read=80                FILE: Number of bytes written=313823                FILE: Number of read operations=0                FILE: Number of large read operations=0                FILE: Number of write operations=0                HDFS: Number of bytes read=264                HDFS: Number of bytes written=69                HDFS: Number of read operations=14                HDFS: Number of large read operations=0                HDFS: Number of write operations=8        Job Counters                 Launched map tasks=1                Launched reduce tasks=1                Other local map tasks=1                Total time spent by all maps in occupied slots (ms)=7977                Total time spent by all reduces in occupied slots (ms)=12015                Total time spent by all map tasks (ms)=2659                Total time spent by all reduce tasks (ms)=2403                Total vcore-milliseconds taken by all map tasks=2659                Total vcore-milliseconds taken by all reduce tasks=2403                Total megabyte-milliseconds taken by all map tasks=8168448                Total megabyte-milliseconds taken by all reduce tasks=12303360        Map-Reduce Framework                Map input records=1                Map output records=1                Map output bytes=59                Map output materialized bytes=76                Input split bytes=97                Combine input records=0                Combine output records=0                Reduce input groups=1                Reduce shuffle bytes=76                Reduce input records=1                Reduce output records=0                Spilled Records=2                Shuffled Maps =1                Failed Shuffles=0                Merged Map outputs=1                GC time elapsed (ms)=91                CPU time spent (ms)=2320                Physical memory (bytes) snapshot=1189855232                Virtual memory (bytes) snapshot=11135381504                Total committed heap usage (bytes)=3043491840        Shuffle Errors                BAD_ID=0                CONNECTION=0                IO_ERROR=0                WRONG_LENGTH=0                WRONG_MAP=0                WRONG_REDUCE=0        File Input Format Counters                 Bytes Read=167        File Output Format Counters                 Bytes Written=0[hive@mwpl003 ~]$ hadoop fs -ls /tmp/test/Found 2 items-rw-r--r--   3 hive supergroup          0 2019-09-18 13:50 /tmp/test/a.txtdrwxr-xr-x   - hive supergroup          0 2019-09-18 13:53 /tmp/test/test.har[hive@mwpl003 ~]$ hadoop fs -ls /tmp/test/test.har/Found 4 items-rw-r--r--   3 hive supergroup          0 2019-09-18 13:53 /tmp/test/test.har/_SUCCESS-rw-r--r--   3 hive supergroup         55 2019-09-18 13:53 /tmp/test/test.har/_index-rw-r--r--   3 hive supergroup         14 2019-09-18 13:53 /tmp/test/test.har/_masterindex-rw-r--r--   3 hive supergroup          0 2019-09-18 13:53 /tmp/test/test.har/part-0解压:hadoop distcp har:///tmp/test/test.har /tmp/test1hdfs dfs -cp har:///tmp/test/test.har /tmp/test1

2、checknative

检查hadoop的原生代码,一般人用不到

使用语法:hadoop checknative [-a] [-h]

-a 检查所有的库
-h 显示帮助

3、classpath

打印hadoop jar或者库的类路径

使用语法:hadoop classpath [--glob |--jar <path> |-h |--help]

4、credential

管理凭证供应商的凭证、密码和secret(有关秘密信息)

使用语法:hadoop credential <subcommand> [options]

5、distcp(比较常用)

distributed copy的缩写(望文生义),主要用于集群内/集群之间 复制文件。需要使用到mapreduce

使用语法:hadoop distcp [-option] hdfs://source hdfs://dest

详细见:http://hadoop.apache.org/docs/r2.7.0/hadoop-distcp/DistCp.html

常用的几个选项:-m 
#指定了拷贝数据时map的数目。请注意并不是map数越多吞吐量越大-i #忽略失败-log
#记录日志到
-update #当目标集群上的文件不存在或文件不一致时,才会从源集群拷贝-overwrite #覆盖目标集群上的文件-filter #过滤不需要复制的文件-delete #删除目标文件存在,但不存在source中的文件

6、fs

与hdfs dfs同用

查看帮助:hadoop fs -help

详细查看:http://hadoop.apache.org/docs/r2.7.0/hadoop-project-dist/hadoop-common/FileSystemShell.html

包括如下一些子命令:

appendToFile, cat, checksum, chgrp, chmod, chown, copyFromLocal, copyToLocal, count, cp, createSnapshot, deleteSnapshot, df, du, expunge, find, get, getfacl, getfattr, getmerge, help, ls, mkdir, moveFromLocal, moveToLocal, mv, put, renameSnapshot, rm, rmdir, setfacl, setfattr, setrep, stat, tail, test, text, touchz

在这里我想各位都应该比较熟悉linux的基本操作命令了,所以这些命令用起来比较简单

6.1、appendToFile

appendToFile  #追加一下本地文件到分布式文件系统Usage: hadoop fs -appendToFile 
...
example:hadoop fs -appendToFile localfile1 localfile2 /user/hadoop/hadoopfilehadoop fs -appendToFile - hdfs://nn.example.com/hadoop/hadoopfile #表示从标准输入输入数据到hadoopfile中,ctrl+d 结束输入

6.2、cat

cat   #查看文件内容Usage: hadoop fs -cat URI [URI ...]example:hadoop fs -cat hdfs://nn1.example.com/file1 hdfs://nn2.example.com/file2hadoop fs -cat file:///file3 /user/hadoop/file4

6.3、checksum

checksum  #返回被检查文件的格式Usage: hadoop fs -checksum URIexample:[hive@mwpl003 ~]$  hadoop fs -checksum /tmp/test/test.txt/tmp/test/test.txt      MD5-of-0MD5-of-512CRC32C        000002000000000000000000fde199c1517b7b26b0565ff6b0f46acc

6.4、chgrp 

chgrp   #变更文件目录的所属组Usage: hadoop fs -chgrp [-R] GROUP URI [URI ...]

6.5、chmod

chmod  #修改文件或者目录的权限Usage: hadoop fs -chmod [-R] 
URI [URI ...]

6.6、chown

chown  #修改目录或者文件的拥有者和所属组Usage: hadoop fs -chown [-R] [OWNER][:[GROUP]] URI [URI ]

6.7、copyFromLocal

copyFromLocal #从本地复制文件或者文件夹到hdfs,类似put命令Usage: hadoop fs -copyFromLocal [-f] 
URI #其中-f选项会覆盖与原文件一样的目标路径文件example:hadoop fs -copyFromLocal start-hadoop.sh /tmp

6.8、copyToLocal

copyToLocal  #类似get命令,从hdfs获取文件到本地Usage: hadoop fs -copyToLocal [-ignorecrc] [-crc] URI 

6.9、count

count  #计算 目录,文件,字节数Usage: hadoop fs -count [-q] [-h] [-v] 

6.10、cp

cp     #复制源文件到目标文件Usage: hadoop fs -cp [-f] [-p | -p[topax]] URI [URI ...] 
Example:hadoop fs -cp /user/hadoop/file1 /user/hadoop/file2hadoop fs -cp /user/hadoop/file1 /user/hadoop/file2 /user/hadoop/dir

6.11、Snapshot相关

createSnapshot #创建快照deleteSnapshot #删除快照详细见:http://hadoop.apache.org/docs/r2.8.0/hadoop-project-dist/hadoop-hdfs/HdfsSnapshots.htmlHDFS快照是文件系统的只读时间点副本。可以在文件系统的子树或整个文件系统上拍摄快照。快照的一些常见用例是数据备份,防止用户错误和灾难恢复。在创建快照前,要设置一个目录为snapshottable(需要管理员权限),表示可以在该目录中创建快照hdfs dfsadmin -allowSnapshot 
#在path中启用快照hdfs dfsadmin -disallowSnapshot
#在path中禁止快照hdfs dfs -ls /foo/.snapshot #列出快照目录下的所有快照hdfs dfs -createSnapshot
[
] #创建快照,快照名默认为时间戳格式hdfs dfs -deleteSnapshot
#删除快照hdfs dfs -renameSnapshot
#快照重命名hdfs lsSnapshottableDir #获取快照目录

6.12、df

df  #展示空间使用情况Usage: hadoop fs -df [-h] URI [URI ...]

6.13、du

du  #展示目录包含的文件的大小Usage: hadoop fs -du [-s] [-h] URI [URI ...]Example:hadoop fs -du /user/hadoop/dir1 /user/hadoop/file1 hdfs://nn.example.com/user/hadoop/dir1

6.14、expunge

expunge  #清空回收站(不要瞎用)Usage: hadoop fs -expunge

6.15、find

find   #查找Usage: hadoop fs -find 
...
...-name pattern-iname pattern #忽略大小写-print-print0AlwaysExample:hadoop fs -find / -name test -print

6.16、get

get #获取数据,类似于copyToLocal.但有crc校验Usage: hadoop fs -get [-ignorecrc] [-crc] 
Example:hadoop fs -get /tmp/input/hadoop/*.xml /home/hadoop/testdir/

6.17、getfacl

getfacl #展示目录或者文件的ACL权限Usage: hadoop fs -getfacl [-R] 
[hive@mwpl003 ~]$ hadoop fs -getfacl -R /tmp/test# file: /tmp/test# owner: hive# group: supergroupgetfacl: The ACL operation has been rejected. Support for ACLs has been disabled by setting dfs.namenode.acls.enabled to false.

6.18、getfattr

getfattr #显示文件或目录的扩展属性名称和值Usage: hadoop fs -getfattr [-R] -n name | -d [-e en] 
-n name和 -d是互斥的,-d表示获取所有属性。-R表示循环获取; -e en 表示对获取的内容编码,en的可以取值是 “text”, “hex”, and “base64”.Examples:hadoop fs -getfattr -d /filehadoop fs -getfattr -R -n user.myAttr /dir

6.19、getmerge 

getmerge  #合并文件Usage: hadoop fs -getmerge 
[addnl]hadoop fs -getmerge /src /opt/output.txthadoop fs -getmerge /src/file1.txt /src/file2.txt /output.txt

6.20、ls

ls   #罗列文件Usage: hadoop fs -ls [-d] [-h] [-R] [-t] [-S] [-r] [-u] 

6.21、mkdir 

mkdir #创建文件夹Usage: hadoop fs -mkdir [-p] 
Example:hadoop fs -mkdir /user/hadoop/dir1 /user/hadoop/dir2hadoop fs -mkdir hdfs://nn1.example.com/user/hadoop/dir hdfs://nn2.example.com/user/hadoop/dir

6.22、moveFromLocal

moveFromLocal #把本地文件移动到hdfs上Usage: hadoop fs -moveFromLocal 

6.23、moveToLocal

moveToLocal   #把hdfs文件移动到本地上Usage: hadoop fs -moveToLocal [-crc] 

6.24、mv

mv   #移动文件,但是可以一次移动多个Usage: hadoop fs -mv URI [URI ...] 
Example:hadoop fs -mv /user/hadoop/file1 /user/hadoop/file2hadoop fs -mv hdfs://nn.example.com/file1 hdfs://nn.example.com/file2 hdfs://nn.example.com/file3 hdfs://nn.example.com/dir1

6.25、put

put  #把文件复制到hdfs上Usage: hadoop fs -put 
...
hadoop fs -put localfile hdfs://nn.example.com/hadoop/hadoopfilehadoop fs -put - hdfs://nn.example.com/hadoop/hadoopfile #Reads the input from stdin.

6.26、rm

rm  #删除文件Usage: hadoop fs -rm [-f] [-r |-R] [-skipTrash] URI [URI ...]

6.27、rmdir

rmdir  #删除一个目录Usage: hadoop fs -rmdir [--ignore-fail-on-non-empty] URI [URI ...]

6.28、setfacl

setfacl  #设置ACL权限Usage: hadoop fs -setfacl [-R] [-b |-k -m |-x 
] |[--set
]-b 删除除基本acl项之外的所有项。保留用户、组和其他用户-k 删除所有的默认ACL权限-R 递归操作-m 修改ACL权限,保留旧的,添加新的-x 删除指定ACL权限--set 完全替换现有的ACL权限Examples:hadoop fs -setfacl -m user:hadoop:rw- /filehadoop fs -setfacl -x user:hadoop /filehadoop fs -setfacl -b /filehadoop fs -setfacl -k /dirhadoop fs -setfacl --set user::rw-,user:hadoop:rw-,group::r--,other::r-- /filehadoop fs -setfacl -R -m user:hadoop:r-x /dirhadoop fs -setfacl -m default:user:hadoop:r-x /dir

6.29、setfattr 

setfattr  #设置额外的属性Usage: hadoop fs -setfattr -n name [-v value] | -x name 
-b 删除除基本acl项之外的所有项。保留用户、组和其他用户-n 额外属性名-v 额外属性值-x name 删除额外属性Examples:hadoop fs -setfattr -n user.myAttr -v myValue /filehadoop fs -setfattr -n user.noValue /filehadoop fs -setfattr -x user.myAttr /file

6.30、setrep 

setrep  #改变文件的复制因子(复本)Usage: hadoop fs -setrep [-R] [-w] 
Example:hadoop fs -setrep -w 3 /user/hadoop/dir1

6.31、stat

stat #获取文件的时间Usage: hadoop fs -stat [format] 
...Example:hadoop fs -stat "%F %u:%g %b %y %n" /file

6.32、tail

tail #展示文件到标准输出Usage: hadoop fs -tail [-f] URI

6.33、test

test  #测试Usage: hadoop fs -test -[defsz] URI-d 判断是否是目录-e 判断是否存在-f 判断是否是文件-s 判断目录是否为空-z 判断文件是否为空Example:hadoop fs -test -e filename

6.34、text

text #可以用来看压缩文件Usage: hadoop fs -text 

6.35、touchz

touchz  #创建一个空文件Usage: hadoop fs -touchz URI [URI ...]

 

7、jar

jar  #运行一个jar文件Usage: hadoop jar 
[mainClass] args...Example:hadoop jar ./test/wordcount/wordcount.jar org.codetree.hadoop.v1.WordCount /test/chqz/input /test/chqz/output的各段的含义:(1) hadoop:${HADOOP_HOME}/bin下的shell脚本名。(2) jar:hadoop脚本需要的command参数。(3) ./test/wordcount/wordcount.jar:要执行的jar包在本地文件系统中的完整路径,参递给RunJar类。(4) org.codetree.hadoop.v1.WordCount:main方法所在的类,参递给RunJar类。(5) /test/chqz/input:传递给WordCount类,作为DFS文件系统的路径,指示输入数据来源。(6) /test/chqz/output:传递给WordCount类,作为DFS文件系统的路径,指示输出数据路径。hadoop推荐使用yarn jar替代hadoop jar 详情见:http://hadoop.apache.org/docs/r2.8.0/hadoop-yarn/hadoop-yarn-site/YarnCommands.html#jar

8、key

key #用来管理秘钥,基本不用

9、trace

trace  #查看和修改跟踪设置详情见:http://hadoop.apache.org/docs/r2.8.0/hadoop-project-dist/hadoop-common/Tracing.html

 

二、hdfs命令

 

hdfs命令有如下选项:

User Commands: classpath, dfs, fetchdt, fsck, getconf, groups, lsSnapshottableDir, jmxget, oev, oiv, oiv_legacy, snapshotDiff, version,Administration Commands: balancer, cacheadmin, crypto, datanode, dfsadmin, haadmin, journalnode, mover, namenode, nfs3, portmap, secondarynamenode, storagepolicies, zkfcDebug Commands: verifyMeta, computeMeta, recoverLease

这里不全详解,详情见:http://hadoop.apache.org/docs/r2.8.0/hadoop-project-dist/hadoop-hdfs/HDFSCommands.html 

1、classpath

classpath  #获取jar包或者库的有关类路径Usage: hdfs classpath [--glob |--jar 
|-h |--help]

2、dfs

dfs #同上节hadoop fs 命令

3、fetchdt

fetchdt  #从namenode节点获取代理令牌Usage: hdfs fetchdt 
详情见:http://hadoop.apache.org/docs/r2.8.0/hadoop-project-dist/hadoop-hdfs/HdfsUserGuide.html#fetchdt

4、fsck(重要)

hdfs fsck 
[-list-corruptfileblocks | [-move | -delete | -openforwrite] [-files [-blocks [-locations | -racks | -replicaDetails]]] [-includeSnapshots] [-storagepolicies] [-blockId
]-delete 删除损坏的文件-files 打印正在检查的文件.-files -blocks 打印块报告-files -blocks -locations Print out locations for every block.-files -blocks -racks 打印每个块的位置-files -blocks -replicaDetails 打印出每个副本的详细信息.-includeSnapshots 如果给定路径指示SnapshotTable目录或其下有SnapshotTable目录,则包括快照数据-list-corruptfileblocks 打印出所属丢失块和文件的列表.-move 将损坏的文件移动到/lost+found.-openforwrite 打印为写入而打开的文件.-storagepolicies 打印块的存储策略摘要.-blockId 打印出有关块的信息.

5、getconf(重要)

hdfs getconf -namenodes #获取namenode节点hdfs getconf -secondaryNameNodes #获取secondaryNameNodes节点hdfs getconf -backupNodes  #获取群集中备份节点的列表hdfs getconf -includeFile  #获取定义可以加入群集的数据节点的包含文件路径hdfs getconf -excludeFile  #获取定义需要停用的数据节点的排除文件路径hdfs getconf -nnRpcAddresses #获取namenode rpc地址hdfs getconf -confKey [key] #从配置中获取特定密钥 ,可以用来返回hadoop的配置信息的具体值

6、groups

groups #返回用户的所属组Usage: hdfs groups [username ...]

7、lsSnapshottableDir

lsSnapshottableDir #查看快照目录Usage: hdfs lsSnapshottableDir [-help]

8、jmxget 

jmxget  #从特定服务获取jmx信息Usage: hdfs jmxget [-localVM ConnectorURL | -port port | -server mbeanserver | -service service]

9、oev 

oev  #离线编辑查看器Usage: hdfs oev [OPTIONS] -i INPUT_FILE -o OUTPUT_FILE

10、oiv

oiv  #离线映像编辑查看器Usage: hdfs oiv [OPTIONS] -i INPUT_FILE

11、snapshotDiff

snapshotDiff  #对比快照信息的不同Usage: hdfs snapshotDiff 
详情见:http://hadoop.apache.org/docs/r2.8.0/hadoop-project-dist/hadoop-hdfs/HdfsSnapshots.html#Get_Snapshots_Difference_Report

12、balancer(重要)

balancer hdfs balancer          [-threshold 
] [-policy
] [-exclude [-f
|
]] [-include [-f
|
]] [-source [-f
|
]] [-blockpools
] [-idleiterations
]-policy
datanode (default): 如果每个数据节点都是平衡的,则群集是平衡的.blockpool: 如果每个数据节点中的每个块池都是平衡的,则群集是平衡的.-threshold
磁盘容量的百分比。这将覆盖默认阈值-exclude -f
|
排除平衡器正在平衡的指定数据节点-include -f
|
仅包含要由平衡器平衡的指定数据节点-source -f
|
仅选取指定的数据节点作为源节点。-blockpools
平衡器将仅在此列表中包含的块池上运行.-idleiterations
退出前的最大空闲迭代次数。这将覆盖默认的空闲操作(5次)

13、cacheadmin

cacheadminUsage: hdfs cacheadmin -addDirective -path 
-pool
[-force] [-replication
] [-ttl
]hdfs crypto -createZone -keyName
-path
hdfs crypto -listZones hdfs crypto -provisionTrash -path
hdfs crypto -help
详情见:http://hadoop.apache.org/docs/r2.8.0/hadoop-project-dist/hadoop-hdfs/CentralizedCacheManagement.html

14、datanode

datanode #运行datanodeUsage: hdfs datanode [-regular | -rollback | -rollingupgrade rollback]-regular    正常启动(default).-rollback    将datanode回滚到以前的版本。这应该在停止datanode并分发旧的hadoop版本之后使用-rollingupgrade rollback    回滚滚动升级操作

15、dfsadmim(重要)

hdfs dfsadmin [GENERIC_OPTIONS]          [-report [-live] [-dead] [-decommissioning]]   #报告基本的文件系统信息和统计信息,包括测量所有dns上的复制、校验和、快照等使用的原始空间。          [-safemode enter | leave | get | wait | forceExit] #安全模式维护命令           #安全模式在namenode启动时自动进入,当配置的最小块百分比满足最小复制条件时自动离开安全模式。如果namenode检测到任何异常,           #则它将在安全模式下逗留,直到该问题得到解决。如果异常是故意操作的结果,那么管理员可以使用-safemode forceExit退出安全模式          [-saveNamespace] #将当前命名空间保存到存储目录并重置编辑日志。需要安全模式          [-rollEdits] #在活动的namenode上滚动编辑日志          [-restoreFailedStorage true |false |check] #此选项将打开或者关闭自动尝试还原失败的存储副本。如果失败的存储再次可用,          #系统将在检查点期间尝试还原编辑和fsimage。“check”选项将返回当前设置          [-refreshNodes] #重新读取主机并排除文件,以更新允许连接到namenode的数据节点集,以及应解除或重新启用的数据节点集          [-setQuota 
...
] [-clrQuota
...
] [-setSpaceQuota
[-storageType
]
...
] [-clrSpaceQuota [-storageType
]
...
] [-finalizeUpgrade] #完成hdfs的升级。datanodes删除它们以前版本的工作目录,然后namenode执行相同的操作。这就完成了升级过程 [-rollingUpgrade [
|
|
]] [-metasave filename] #将namenode的主数据结构保存到hadoop.log.dir属性指定的目录中的filename。如果文件名存在,它将被覆盖。 #该文件包含带namenode的datanodes心跳,等待复制的块,当前正在复制的块,等待删除的块 [-refreshServiceAcl] #重新加载服务级别授权策略文件 [-refreshUserToGroupsMappings] #刷新用户到组的映射 [-refreshSuperUserGroupsConfiguration] #刷新超级用户代理组映射 [-refreshCallQueue] #从配置重新加载调用队列 [-refresh
[arg1..argn]] #触发由
上的
指定的资源的运行时刷新。之后的所有其他参数都将发送到主机 [-reconfig
] #开始重新配置或获取正在进行的重新配置的状态。第二个参数指定节点类型。目前,只支持重新加载datanode的配置 [-printTopology] #打印由namenode报告的机架及其节点的树 [-refreshNamenodes datanodehost:port] #对于给定的数据节点,重新加载配置文件,停止为已删除的块池提供服务,并开始为新的块池提供服务 [-deleteBlockPool datanode-host:port blockpoolId [force]] #如果传递了force,则将删除给定数据节点上给定block pool id的块池目录及其内容,否则仅当该目录为空时才删除该目录。 #如果datanode仍在为块池提供服务,则该命令将失败 [-setBalancerBandwidth
] #更改HDFS块平衡期间每个数据节点使用的网络带宽。
是每个数据节点每秒将使用的最大字节数。 #此值重写dfs.balance.bandwidthpersec参数。注意:新值在datanode上不是持久的 [-getBalancerBandwidth
] #获取给定数据节点的网络带宽(字节/秒)。这是数据节点在hdfs块平衡期间使用的最大网络带宽 [-allowSnapshot
] #设置快照目录 [-disallowSnapshot
] #禁止快照 [-fetchImage
] #从namenode下载最新的fsimage并将其保存在指定的本地目录中 [-shutdownDatanode
[upgrade]] #提交给定数据节点的关闭请求 [-getDatanodeInfo
] #获取有关给定数据节点的信息 [-evictWriters
] #使datanode收回正在写入块的所有客户端。如果由于编写速度慢而挂起退役,这将非常有用 [-triggerBlockReport [-incremental]
] #触发给定数据节点的块报告。如果指定了“增量”,则为“增量”,否则为完整的块报告 [-help [cmd]]

16、haadmin(重要)

hdfs haadmin -checkHealth 
#检查给定namenode的运行状况hdfs haadmin -failover [--forcefence] [--forceactive]
#在两个namenodes之间启动故障转移hdfs haadmin -getServiceState
#确定给定的namenode是活动的还是备用的hdfs haadmin -help
hdfs haadmin -transitionToActive
[--forceactive] #将给定namenode的状态转换为activehdfs haadmin -transitionToStandby
#将给定namenode的状态转换为standby详情见:http://hadoop.apache.org/docs/r2.8.0/hadoop-project-dist/hadoop-hdfs/HDFSHighAvailabilityWithNFS.html

17、journalnode

journalnode #为通过QJM实现的高可用hdfs启动journalnodeUsage: hdfs journalnode

18、mover  

Usage: hdfs mover [-p 
| -f
]-f 指定包含要迁移的hdfs文件/目录列表的本地文件-p 指定要迁移的hdfs文件/目录的空间分隔列表详情见:http://hadoop.apache.org/docs/r2.8.0/hadoop-project-dist/hadoop-hdfs/ArchivalStorage.html

19、namenode

namenodehdfs namenode [-backup] |  #开始备份节点         [-checkpoint] | #检查点开始节点         [-format [-clusterid cid ] [-force] [-nonInteractive] ] |  #格式化指定的NameNode。 它启动NameNode,         #对其进行格式化然后将其关闭。 如果名称目录存在,则为-force选项格式。 如果名称目录存在,则-nonInteractive选项将中止,除非指定了-force选项         [-upgrade [-clusterid cid] [-renameReserved
] ] | #在分发新的Hadoop版本后,应该使用升级选项启动Namenode [-upgradeOnly [-clusterid cid] [-renameReserved
] ] | #升级指定的NameNode然后关闭它 [-rollback] | #将NameNode回滚到以前的版本。 应在停止群集并分发旧Hadoop版本后使用此方法 [-rollingUpgrade
] |#滚动升级 详情见:http://hadoop.apache.org/docs/r2.8.0/hadoop-project-dist/hadoop-hdfs/HdfsRollingUpgrade.html [-finalize] | #不再支持。使用dfsadmin -finalizeUpgrade替换 [-importCheckpoint] | #从检查点目录加载image并将其保存到当前目录中。 从属性dfs.namenode.checkpoint.dir读取检查点目录 [-initializeSharedEdits] | #格式化新的共享编辑目录并复制足够的编辑日志段,以便备用NameNode可以启动 [-bootstrapStandby [-force] [-nonInteractive] [-skipSharedEditsCheck] ] | #允许通过从活动NameNode复制最新的命名空间快照来引导备用NameNode的存储目录 [-recover [-force] ] | #在损坏的文件系统上恢复丢失的元数据 [-metadataVersion ] #验证配置的目录是否存在,然后打印软件和映像的元数据版本

20、secondarynamenode

Usage: hdfs secondarynamenode [-checkpoint [force]] | [-format] | [-geteditsize]-checkpoint [force]    如果EditLog size> = fs.checkpoint.size,则检查SecondaryNameNode。 如果使用force,则检查点与EditLog大小无关-format    启动期间格式化本地存储-geteditsize    打印NameNode上未取消选中的事务的数量

21、storagepolicies

storagepolicies #列出所有存储策略Usage: hdfs storagepolicies详情见:http://hadoop.apache.org/docs/r2.8.0/hadoop-project-dist/hadoop-hdfs/ArchivalStorage.html

22、zkfc

Usage: hdfs zkfc [-formatZK [-force] [-nonInteractive]]-formatZK    格式化Zookeeper实例-force: 如果znode存在,则格式化znode。 -nonInteractive:如果znode存在,则格式化znode中止,除非指定了-force选项-h    Display help

23、verifyMeta 

verifyMeta  #验证HDFS元数据和块文件。 如果指定了块文件,我们将验证元数据文件中的校验和是否与块文件匹配Usage: hdfs debug verifyMeta -meta 
[-block
]-block block-file 用于指定数据节点的本地文件系统上的块文件的绝对路径-meta metadata-file 数据节点的本地文件系统上的元数据文件的绝对路径

24、computeMeta

computeMeta #从块文件计算HDFS元数据。 如果指定了块文件,我们将从块文件计算校验和,并将其保存到指定的输出元数据文件中Usage: hdfs debug computeMeta -block 
-out
-block block-file 数据节点的本地文件系统上的块文件的绝对路径-out output-metadata-file 输出元数据文件的绝对路径,用于存储块文件的校验和计算结果。

25、recoverLease

recoverLease #恢复指定路径上的租约。 该路径必须驻留在HDFS文件系统上。 默认重试次数为1Usage: hdfs debug recoverLease -path 
[-retries
][-path path] 要恢复租约的HDFS路径[-retries num-retries] 客户端重试调用recoverLease的次数。 默认重试次数为1

 

更多hadoop生态文章请见:

 

转载地址:https://www.cnblogs.com/zsql/p/11580704.html 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:hadoop之hdfs架构详解
下一篇:hadoop生态系列

发表评论

最新留言

很好
[***.229.124.182]2024年04月18日 16时07分00秒