<a href="http://www.cnblogs.com/Amaranthus/p/8578715.html#_Toc508956858">HDFS Commands Guide</a>
<a href="http://www.cnblogs.com/Amaranthus/p/8578715.html#_Toc508956859">3.1概述</a>
<a href="http://www.cnblogs.com/Amaranthus/p/8578715.html#_Toc508956860">3.2 用户命令</a>
<a href="http://www.cnblogs.com/Amaranthus/p/8578715.html#_Toc508956861">3.2.1 classpath</a>
<a href="http://www.cnblogs.com/Amaranthus/p/8578715.html#_Toc508956862">3.2.2 dfs</a>
<a href="http://www.cnblogs.com/Amaranthus/p/8578715.html#_Toc508956863">3.2.3 envvars</a>
<a href="http://www.cnblogs.com/Amaranthus/p/8578715.html#_Toc508956864">3.2.4 fetchdt</a>
<a href="http://www.cnblogs.com/Amaranthus/p/8578715.html#_Toc508956865">3.2.5 fsck</a>
<a href="http://www.cnblogs.com/Amaranthus/p/8578715.html#_Toc508956866">3.2.6 getconf</a>
<a href="http://www.cnblogs.com/Amaranthus/p/8578715.html#_Toc508956867">3.2.7 groups</a>
<a href="http://www.cnblogs.com/Amaranthus/p/8578715.html#_Toc508956868">3.2.8 httpfs</a>
<a href="http://www.cnblogs.com/Amaranthus/p/8578715.html#_Toc508956869">3.2.9 lsSnapshottableDir</a>
<a href="http://www.cnblogs.com/Amaranthus/p/8578715.html#_Toc508956870">3.2.10 jmxget</a>
<a href="http://www.cnblogs.com/Amaranthus/p/8578715.html#_Toc508956871">3.2.11 oev</a>
<a href="http://www.cnblogs.com/Amaranthus/p/8578715.html#_Toc508956872">3.2.12 oiv</a>
<a href="http://www.cnblogs.com/Amaranthus/p/8578715.html#_Toc508956873">3.2.13 oiv_legacy</a>
<a href="http://www.cnblogs.com/Amaranthus/p/8578715.html#_Toc508956874">3.2.14 snapshotDiff</a>
<a href="http://www.cnblogs.com/Amaranthus/p/8578715.html#_Toc508956875">3.2.15 version</a>
<a href="http://www.cnblogs.com/Amaranthus/p/8578715.html#_Toc508956876">3.3 管理命令</a>
<a href="http://www.cnblogs.com/Amaranthus/p/8578715.html#_Toc508956877">3.3.1 balancer</a>
<a href="http://www.cnblogs.com/Amaranthus/p/8578715.html#_Toc508956878">3.3.2 cacheadmin</a>
<a href="http://www.cnblogs.com/Amaranthus/p/8578715.html#_Toc508956879">3.3.3 crypto</a>
<a href="http://www.cnblogs.com/Amaranthus/p/8578715.html#_Toc508956880">3.3.4 datanode</a>
<a href="http://www.cnblogs.com/Amaranthus/p/8578715.html#_Toc508956881">3.3.5 dfsadmin</a>
<a href="http://www.cnblogs.com/Amaranthus/p/8578715.html#_Toc508956882">3.3.6 diskbalancer</a>
<a href="http://www.cnblogs.com/Amaranthus/p/8578715.html#_Toc508956883">3.3.7 ec</a>
<a href="http://www.cnblogs.com/Amaranthus/p/8578715.html#_Toc508956884">3.3.8 haadmin</a>
<a href="http://www.cnblogs.com/Amaranthus/p/8578715.html#_Toc508956885">3.3.9 journalnode</a>
<a href="http://www.cnblogs.com/Amaranthus/p/8578715.html#_Toc508956886">3.3.10 mover</a>
<a href="http://www.cnblogs.com/Amaranthus/p/8578715.html#_Toc508956887">3.3.11 namenode</a>
<a href="http://www.cnblogs.com/Amaranthus/p/8578715.html#_Toc508956888">3.3.12 nfs3</a>
<a href="http://www.cnblogs.com/Amaranthus/p/8578715.html#_Toc508956889">3.3.13 portmap</a>
<a href="http://www.cnblogs.com/Amaranthus/p/8578715.html#_Toc508956890">3.3.14 secondarynamenode</a>
<a href="http://www.cnblogs.com/Amaranthus/p/8578715.html#_Toc508956891">3.3.15 storagepolicies</a>
<a href="http://www.cnblogs.com/Amaranthus/p/8578715.html#_Toc508956892">3.3.16 zkfc</a>
<a href="http://www.cnblogs.com/Amaranthus/p/8578715.html#_Toc508956893">3.4 Debug command</a>
<a href="http://www.cnblogs.com/Amaranthus/p/8578715.html#_Toc508956894">3.4.1 verifyMeta</a>
<a href="http://www.cnblogs.com/Amaranthus/p/8578715.html#_Toc508956895">3.4.2 computeMeta</a>
<a href="http://www.cnblogs.com/Amaranthus/p/8578715.html#_Toc508956896">3.4.3 recoverLesse</a>
所有HDFS命令都是用hdfs调用。运行hdfs可以输出所有的命令。
语法:hdfs [SHELL_OPTIONS] COMMAND [GENERIC_OPTIONS] [COMMAND_OPTIONS]
Hadoop 有一些通用的选项:
COMMAND_OPTIONS
Description
SHELL_OPTIONS
GENERIC_OPTIONS
COMMAND COMMAND_OPTIONS
用于用户hadoop cluster
语法:hdfs classpath [--glob |--jar <path> |-h |--help]
COMMAND_OPTION
--glob
expand wildcards
--jar path
Classpath指向一个jar包
-h, --help
print help
打印classpath需要获取hadoop的jar包并且需要的lib。如果调用不带参数,会输出命令脚本setup的classpath,classpath包含了通配符。其他的选项打印classpath通配符扩展后的classpath,或者把classpath写入到jar包的manifest。
语法:hdfs dfs [COMMAND [COMMAND_OPTIONS]]
语法:hdfs envvars
输出hadoop环境变量
语法hdfs fetchdt <opts> <token_file_path>
--webservice NN_Url
连接到nn的url(starts with http or https)
--renewer name
刷新nameoftoken
--cancel
取消token
--renew
刷新token,token必须已经通过fetched–renewername获取
打印token
token_file_path
保存token的路径
hdfs fsck <path>
[-list-corruptfileblocks |
[-move | -delete | -openforwrite]
[-files [-blocks [-locations | -racks | -replicaDetails | -upgradedomains]]]
[-includeSnapshots] [-showprogress]
[-storagepolicies] [-maintenance]
[-blockId <blk_Id>]
path
开始检查这个路径
-delete
删除损坏的文件
-files
打印已经被检查的文件
-files -blocks
打印blockreport
-files -blocks -locations
打印每个block的位置
-files -blocks -racks
打印datanode位置的拓扑
-files -blocks -replicaDetails
打印每个副本的细节
-files -blocks -upgradedomains
打印每个block的upgradedomain
-includeSnapshots
如果path或者子目录表明了快照表目录,快照表目录包含了快照数据
-list-corruptfileblocks
打印丢失的块或者文件
-move
移动损坏的文件到/lost+found
-openforwrite
以写入方式打开的文件
-showprogress
Print out dots for progress in output. Default is OFF (no progress).
-storagepolicies
输出块的存储策略
-maintenance
输出维护的node状态细节
-blockId
输出块的信息
hdfs getconf -namenodes
hdfs getconf -secondaryNameNodes
hdfs getconf -backupNodes
hdfs getconf -includeFile
hdfs getconf -excludeFile
hdfs getconf -nnRpcAddresses
hdfs getconf -confKey [key]
-namenodes
获取集群的namenodes
-secondaryNameNodes
获取集群的secondarynamenodes
-backupNodes
获取集群的backupnodes
-includeFile
允许Datanode join到集群的文件列表
-excludeFile
不允许datanodejoin到集群的文件列表
-nnRpcAddresses
namenode rpc 地址
-confKey [key]
从配置文件中获取指定的key
hdfs groups [username ...]
返回给定用户或多个用户的group信息。
hdfs httpfs
启动httpfs服务,HDFS HTTP网关
hdfs lsSnapshottableDir [-help]
获取snapshottable目录。当以super user用户运行,会返回所有的snapshottable目录。否则范围属于该用户所有的目录。
hdfs jmxget [-localVM ConnectorURL | -port port | -server mbeanserver | -service service]
-help
-localVM ConnectorURL
connect to the VM on the same machine
-port mbean server port
specify mbean server port, if missing it will try to connect to MBean Server in the same VM
-server
specify mbean server (localhost by default)
-service NameNode|DataNode
specify jmx service. NameNode by default.
Dump 服务的jmx信息
hdfs oev [OPTIONS] -i INPUT_FILE -o OUTPUT_FILE
输入:
-i,--inputFile arg
edits file to process, xml 后缀表示xml文件,任何其他文件名表示bianry文件
-o,--outputFile arg
输出的文件名. 如果文件已经存在,那么就会被覆盖,文件的格式由-p决定。
选项:
-f,--fix-txids
重新编号事务id,修复gap或者不可用的事务id
-h,--help
显示使用的信息并且退出
-r,--recover
当读取binary edit log,使用恢复模式。可以让你有机会跳过editlog的错误部分
-p,--processor arg
选择使用什么处理器来应用imagefile,当前支持的处理器:bianry(hadoop使用的binary文件格式),
xml,stats(输出 edit file 统计信息)
-v,--verbose
Verbose输出,打印输入和输出的文件,对于处理器输出到文件的也会输出到屏幕。
在large image文件会动态的增加处理时间
hdfs oiv [OPTIONS] -i INPUT_FILE
-i|--inputFile input file
指定输入的fsimage文件
-o,--outputFile output file
指定output文件名,如果指定的输出一个,如果文件已经存在就会被覆盖。
如果输入的是xml文件会创建一个md5
-p,--processor processor
指定一个image处理器应用image文件。当前可以用的选项web(默认),xml,delimited,
filedistribution和ReverseXML。
-addr address
指定监听的地址. (localhost:5978 by default).选项使用webprocessor
-maxSize size
指定被分析的文件的大小范围[0-maxsize],这个选项用来FileDistribution processor
-step size
指定分布的粒度默认为2MB,用于FileDistribution processor
-format
格式化输出的结果为可读的方式,而不是一些字节。默认false。用与FileDistribution processor
-delimiter arg
String边界,用于Delimited processor
-t,--temp temporary dir
使用临时目录来保存中间结果来生成Delimited输出。如果没有set.
Delimited processor 在输出文本前在在内存中构造namespace
输出帮助
hdfs oiv_legacy [OPTIONS] -i INPUT_FILE -o OUTPUT_FILE
-i,--inputFile input file
指定input fsimage 文件处理
指定输出的文件,如果指定就会输出一个. 如果文件已经存在会被覆盖.
选项
-p|--processor processor
指定image处理器来应用image文件。选项Ls默认,XML,Delimited,indented,filedistribution
和namedistribution
-skipBlocks
文件中不枚举不可用不可用的block。会减少处理时间和输出文件大小。
Ls处理器读取block来正确的决定文件大小并忽略这个选项。
-printToScreen
和输出的文件的内容一样,输出到屏幕。在极巨大的命名空间,会增加处理时间。
当使用delimited处理器,替换默认的tab分隔为参数
-h|--help
输出帮助信息
老的hadoop的hodoop offline image viewer
hdfs snapshotDiff <path> <fromSnapshot> <toSnapshot>
确定HDFS快照的不同。
Hdfs version
输出版本号
Hadoop cluster的管理命令
hdfs balancer
[-policy <policy>]
[-threshold <threshold>]
[-exclude [-f <hosts-file> | <comma-separated list of hosts>]]
[-include [-f <hosts-file> | <comma-separated list of hosts>]]
[-source [-f <hosts-file> | <comma-separated list of hosts>]]
[-blockpools <comma-separated list of blockpool ids>]
[-idleiterations <idleiterations>]
[-runDuringUpgrade]
-policy <policy>
datanode (default): 如果datanode是均衡的,那么集群就是均衡的.
blockpool: 如果blockpool在每个datanode上是均衡的,集群就是均衡的
-threshold <threshold>
磁盘容量的百分比。会覆盖默认的阀值
-exclude -f <hosts-file> | <comma-separated list of hosts>
均衡排除这些datanode
-include -f <hosts-file> | <comma-separated list of hosts>
只有这些datanode会被均衡
-source -f <hosts-file> | <comma-separated list of hosts>
指定datanode作为sourcenode
-blockpools <comma-separated list of blockpool ids>
均衡器只会运行在这些blockpool
-idleiterations <iterations>
退出前最大的限制迭代。默认是5
-runDuringUpgrade
是否在HDFS更新的时候进行均衡。通常是不会的,在空间被过度利用的设备上不会有影响
Blockpool策略比datanode更加严格。
在上面说的选项之外,2.7开始加入了pinning功能来防止均衡器移动副本。这个pinning特性默认是禁用的。可以通过dfs.datanode.block-pinning.enabled启动。当启动,这个特性只会影响写入到favored node,通过create()被调用。当想要在本地维护数据的话这个特性很有用,特别是HBase Regionserver的应用。
hdfs cacheadmin [-addDirective -path <path> -pool <pool-name> [-force] [-replication <replication>] [-ttl <time-to-live>]]
hdfs cacheadmin [-modifyDirective -id <id> [-path <path>] [-force] [-replication <replication>] [-pool <pool-name>] [-ttl <time-to-live>]]
hdfs cacheadmin [-listDirectives [-stats] [-path <path>] [-pool <pool>] [-id <id>]]
hdfs cacheadmin [-removeDirective <id>]
hdfs cacheadmin [-removeDirectives -path <path>]
hdfs cacheadmin [-addPool <name> [-owner <owner>] [-group <group>] [-mode <mode>] [-limit <limit>] [-maxTtl <maxTtl>]]
hdfs cacheadmin [-modifyPool <name> [-owner <owner>] [-group <group>] [-mode <mode>] [-limit <limit>] [-maxTtl <maxTtl>]]
hdfs cacheadmin [-removePool <name>]
hdfs cacheadmin [-listPools [-stats] [<name>]]
hdfs cacheadmin [-help <command-name>]
hdfs crypto -createZone -keyName <keyName> -path <path>
hdfs crypto -listZones
hdfs crypto -provisionTrash -path <path>
hdfs crypto -help <command-name>
hdfs datanode [-regular | -rollback | -rollingupgrade rollback]
-regular
正常启动datanode(default).
-rollback
回退datanode到之前的版本
-rollingupgrade rollback
回滚更新操作.
hdfs dfsadmin [-report [-live] [-dead] [-decommissioning] [-enteringmaintenance] [-inmaintenance]]
hdfs dfsadmin [-safemode enter | leave | get | wait | forceExit]
hdfs dfsadmin [-saveNamespace [-beforeShutdown]]
hdfs dfsadmin [-rollEdits]
hdfs dfsadmin [-restoreFailedStorage true |false |check]
hdfs dfsadmin [-refreshNodes]
hdfs dfsadmin [-setQuota <quota> <dirname>...<dirname>]
hdfs dfsadmin [-clrQuota <dirname>...<dirname>]
hdfs dfsadmin [-setSpaceQuota <quota> [-storageType <storagetype>] <dirname>...<dirname>]
hdfs dfsadmin [-clrSpaceQuota [-storageType <storagetype>] <dirname>...<dirname>]
hdfs dfsadmin [-finalizeUpgrade]
hdfs dfsadmin [-rollingUpgrade [<query> |<prepare> |<finalize>]]
hdfs dfsadmin [-refreshServiceAcl]
hdfs dfsadmin [-refreshUserToGroupsMappings]
hdfs dfsadmin [-refreshSuperUserGroupsConfiguration]
hdfs dfsadmin [-refreshCallQueue]
hdfs dfsadmin [-refresh <host:ipc_port> <key> [arg1..argn]]
hdfs dfsadmin [-reconfig <namenode|datanode> <host:ipc_port> <start |status |properties>]
hdfs dfsadmin [-printTopology]
hdfs dfsadmin [-refreshNamenodes datanodehost:port]
hdfs dfsadmin [-getVolumeReport datanodehost:port]
hdfs dfsadmin [-deleteBlockPool datanode-host:port blockpoolId [force]]
hdfs dfsadmin [-setBalancerBandwidth <bandwidth in bytes per second>]
hdfs dfsadmin [-getBalancerBandwidth <datanode_host:ipc_port>]
hdfs dfsadmin [-fetchImage <local directory>]
hdfs dfsadmin [-allowSnapshot <snapshotDir>]
hdfs dfsadmin [-disallowSnapshot <snapshotDir>]
hdfs dfsadmin [-shutdownDatanode <datanode_host:ipc_port> [upgrade]]
hdfs dfsadmin [-evictWriters <datanode_host:ipc_port>]
hdfs dfsadmin [-getDatanodeInfo <datanode_host:ipc_port>]
hdfs dfsadmin [-metasave filename]
hdfs dfsadmin [-triggerBlockReport [-incremental] <datanode_host:ipc_port>]
hdfs dfsadmin [-listOpenFiles]
hdfs dfsadmin [-help [cmd]]
-report [-live] [-dead] [-decommissioning] [-enteringmaintenance][-inmaintenance]
报告文件系统信息基本信息和统计信息,dfs使用和du不同,因为在所有datanode上测量replication,checksum,shapshots等等的原始空间。选项可以过滤显示的datanode
-safemode enter|leave|get|wait|forceExit
Safe mode维护命令. Safe mode是namenode的状态
1. 不能修改namespace
2.不能复制,删除 blocks.
Safemode在namenode启动的时候自动进入,,并且当配置的最小block安全比率满足之后会自动离开。如果namenode发现任何异常就会徘徊在safemode,直到问题解决。如果异常是故意为之的话,可以用命令强制退出safemode,以下情况可能要强制退出:
1.namenode元数据一致性问题。如果namenode发现元数据被修改,但是超出了边界,那么数据就会丢失,可以使用正确的元数据重启,或者直接退出safemode,但是会丢失数据
2.rollback元数据会被替换,会出现被触发safemode forceExit状态。这个时候需要使用命令强制退出。
Safemode也可以手动进入,但是只能手动退出。
-saveNamespace [-beforeShutdown]
保存当前的namespace到目录中并且重置editlog。需要safemode。如果使用了beforeshutdown选项,namenode在一个时间窗口内没有执行checkpoint下,会执行一个checkpoint.在关闭前运行,可以防止潜在的fsimage或者editlog的损坏.
-rollEdits
Rolls the edit log on the active NameNode.
-restoreFailedStorage true|false|check
这个操作会自动打开和关闭来恢复保存的副本。如果一个错误的存储变的可用,系统会尝试在checkpoint的时候恢复fsiamge和editlog。Check选项返回当前设置。
-refreshNodes
重新读取host和excludefile的namenode重新对namenode上下线。
-setQuota <quota> <dirname>…<dirname>
-clrQuota <dirname>…<dirname>
-setSpaceQuota <quota> [-storageType <storagetype>] <dirname>…<dirname>
-clrSpaceQuota [-storageType <storagetype>] <dirname>…<dirname>
-finalizeUpgrade
完成hdfs更新。Datanode会删除之之前版本的working目录。
-rollingUpgrade [<query>|<prepare>|<finalize>]
-refreshServiceAcl
Reload the service-level authorization policy file.
-refreshUserToGroupsMappings
Refresh user-to-groups mappings.
-refreshSuperUserGroupsConfiguration
Refresh superuser proxy groups mappings
-refreshCallQueue
Reload the call queue from config.
-refresh <host:ipc_port> <key> [arg1..argn]
Triggers a runtime-refresh of the resource specified by <key> on <host:ipc_port>. All other args after are sent to the host.
-reconfig <datanode |namenode> <host:ipc_port> <start|status|properties>
启动重新配置或者获取在线的配置状态,第2个选项指定类型。
-printTopology
Namenode报告节点的机架树结构
-refreshNamenodes datanodehost:port
对于给定的datanoe,重载配置文件, stops serving the removed block-pools and starts serving new block-pools.
-getVolumeReport datanodehost:port
对于给定的datanode,volume report.
-deleteBlockPool datanode-host:port blockpoolId [force]
如果指定了强制,,指定的blockpool id的block pool会被删除,否则只会删除空的目录。如果datanode还是在serving这个block pool那么就会失败。关于关闭block pool可以使用refreshnamenode。
-setBalancerBandwidth <bandwidth in bytes per second>
在HDFS块平衡的时候使用使用的最大带宽,修改网络带宽. <bandwidth> 表示每秒每个datanode的字节数.这个值会覆盖dfs.datanode.balance.bandwidthPerSec. NOTE: 这个值并不会被持久化在datanode
-getBalancerBandwidth<datanode_host:ipc_port>
获取指定datanode的网络带宽。在HDFS块平衡的时候使用的最大带宽。
-fetchImage <local directory>
下载最新的fsimage并保存在本地目录
-allowSnapshot <snapshotDir>
-disallowSnapshot <snapshotDir>
-shutdownDatanode<datanode_host:ipc_port> [upgrade]
-evictWriters<datanode_host:ipc_port>
删除某个datanode的所有写入。如果在下线datanode因为slow writer被挂起的时候很有用。
-getDatanodeInfo<datanode_host:ipc_port>
-metasave filename
保存namenode的primary数据结构到filename,目录在hadoop.log.dir属性中指定。如果已经存在就会被覆盖。Filename会为以下每个保存一行:
1. Datanode和namenode之间的心跳
2. Blocks需要被复制的
3. Blocks 真正在被复制的
4. Blocks 等待被删除的
-triggerBlockReport [-incremental]<datanode_host:ipc_port>
触发一个指定datanode的block report,如果有incremental参数就是增量的否则就是full的
-listOpenFiles
列出namenode当前被打开的文件列表,包含client name和client 设备
-help [cmd]
hdfs diskbalancer
[-plan <datanode> -fs <namenodeURI>]
[-execute <planfile>]
[-query <datanode>]
[-cancel <planfile>]
[-cancel <planID> -node <datanode>]
[-report -node <file://> | [<DataNodeID|IP|Hostname>,...]]
[-report -node -top <topnum>]
-plan
创建diskbalancer计划
-execute
在datanode上执行指定plan
-query
获取datanode当前diskbalancer状态
-cancel
取消正在运行的plan
-report
报告datanode的卷信息
hdfs ec [generic options]
[-setPolicy -policy <policyName> -path <path>]
[-getPolicy -path <path>]
[-unsetPolicy -path <path>]
[-listPolicies]
[-addPolicies -policyFile <file>]
[-listCodecs]
[-enablePolicy -policy <policyName>]
[-disablePolicy -policy <policyName>]
[-help [cmd ...]]
-setPolicy
设置目录的指定的ErasureCoding 策略
-getPolicy
获取指定目录的 ErasureCoding 策略信息
-unsetPolicy
Unset由setpolicy设置的 ErasureCoding 策略
-listPolicies
列出支持的 ErasureCoding 策略
-addPolicies
添加 erasure coding 策略
-listCodecs
Get the list of supported erasure coding codecs and coders in system
-enablePolicy
Enable an ErasureCoding policy in system
-disablePolicy
Disable an ErasureCoding policy in system
hdfs haadmin -transitionToActive <serviceId> [--forceactive]
hdfs haadmin -transitionToStandby <serviceId>
hdfs haadmin -failover [--forcefence] [--forceactive] <serviceId> <serviceId>
hdfs haadmin -getServiceState <serviceId>
hdfs haadmin -getAllServiceState
hdfs haadmin -checkHealth <serviceId>
hdfs haadmin -help <command>
-checkHealth
check the health of the given NameNode
-failover
启动2个NameNode的failover
-getServiceState
决定namenode是standby还是active
-getAllServiceState
返回NameNodes的所有状态
-transitionToActive
把指定namenode设置为active (Warning: No fencing is done)
-transitionToStandby
把指定namenode设置为standby (Warning: No fencing is done)
显示帮助信息
hdfs journalnode
hdfs mover [-p <files/dirs> | -f <local file name>]
-f <local file>
指定本地文件里面包含了要移动的文件和目录
-p <files/dirs>
指定需要移动的过个文件和目录
-p或者-f没有指定,默认是root目录。
hdfs namenode [-backup] |
[-checkpoint] |
[-format [-clusterid cid ] [-force] [-nonInteractive] ] |
[-upgrade [-clusterid cid] [-renameReserved<k-v pairs>] ] |
[-upgradeOnly [-clusterid cid] [-renameReserved<k-v pairs>] ] |
[-rollback] |
[-rollingUpgrade <rollback |started> ] |
[-importCheckpoint] |
[-initializeSharedEdits] |
[-bootstrapStandby [-force] [-nonInteractive] [-skipSharedEditsCheck] ] |
[-recover [-force] ] |
[-metadataVersion ]
-backup
Start backup node.
-checkpoint
Start checkpoint node.
-format [-clusterid cid]
格式化NameNode. 启动NameNode, 初始化然后关闭. 如果目录已经存在或者reformat被禁止,抛出NameNodeFormatException.
-upgrade [-clusterid cid] [-renameReserved <k-v pairs>]
Hadoop新版本更新
-upgradeOnly [-clusterid cid] [-renameReserved <k-v pairs>]
更新指定的 NameNode 然后关闭.
回滚到之前的版本。在安装老的hadoop版本,然后停止集群后运行。
-rollingUpgrade<rollback|started>
-importCheckpoint
从checkpoint目录中加载image,然后保存到current,Checkpoint 目录在dfs.namenode.checkpoint.dir
-initializeSharedEdits
格式化一个新的共享的edit目录,并且复制足够的editlogsegment,这样standbynamendoe可以启动
-bootstrapStandby [-force] [-nonInteractive] [-skipSharedEditsCheck]
允许standbynamenode的共享存储目录,从最厚一个namespace中复制快照然后启动。这个在第一次配置HA集群的时候非常有用. 选项-force或 -nonInteractive 和-format 效果类似. -skipSharedEditsCheck 选项跳过edit检查,保证我们需要在共享目录有足够的edit日志,让最后一次checkpoint 启动。
-recover [-force]
-metadataVersion
验证配置的目录存在,然后打印出软件的元数据版本和image
hdfs nfs3
hdfs portmap
hdfs secondarynamenode [-checkpoint [force]] | [-format] | [-geteditsize]
-checkpoint [force]
如果EditLog size >= fs.checkpoint.size对secondarynamenode启动checkpoint. Force,强制checkpoint不管 EditLog size.
在启动时,格式化
-geteditsize
输出namenode uncheckpoint事务的个数
hdfs storagepolicies
[-listPolicies]
[-setStoragePolicy -path <path> -policy <policy>]
[-getStoragePolicy -path <path>]
[-unsetStoragePolicy -path <path>]
[-help <command-name>]
hdfs zkfc [-formatZK [-force] [-nonInteractive]]
-formatZK
格式化 Zookeeper 实例. -force: 如果znode 存在对znode格式化. -nonInteractive: 如果znode存在,格式化znode, 除非-force选项被设置.
-h
显示帮助
hdfs debug verifyMeta -meta <metadata-file> [-block <block-file>]
-block block-file
指定nanode决定路径在本地文件系统的路径
-meta metadata-file
指向datanode绝对路径的元数据文件
验证hdfs元数据和block文件。如果block文件被指定,会验证meta和block的checksum
hdfs debug computeMeta -block <block-file> -out <output-metadata-file>
-out output-metadata-file
输出了元数据文件,保存了block文件的checksum
从block文件计算hdfs元数据。如果block文件被指定,就会从block文件计算checksum然后保存到输出的metadata文件
Node:如果block文件有错误,并且一斤覆盖了元数据文件,虽然HDFS显示没有没有问题,但是无法读取数据。Only use as a last measure, and when you are 100% certain the block file is good.
hdfs debug recoverLease -path <path> [-retries <num-retries>]
[-path path]
HDFS用来恢复lease的地址.
[-retries num-retries]
客户端调用recoverlease的次数。默认为1
使用特定的路径来恢复lease。Path必须在hdfs文件系统,默认的重试次数是1
本文转自 Fanr_Zh 博客园博客,原文链接:http://www.cnblogs.com/Amaranthus/p/8578715.html,如需转载请自行联系原作者