[HDFS Manual] CH3 HDFS Commands Guide
HDFS Commands Guide
3.1概述
所有HDFS命令都是用hdfs调用。运行hdfs可以输出所有的命令。
语法:hdfs [SHELL_OPTIONS] COMMAND [GENERIC_OPTIONS] [COMMAND_OPTIONS]
Hadoop 有一些通用的选项:
| COMMAND_OPTIONS | Description | 
| SHELL_OPTIONS | Shell命令选项集合. 命令文档 Commands Manual | 
| GENERIC_OPTIONS | 支持多个命令的选项,haddoop命令文档 Commands Manual | 
| COMMAND COMMAND_OPTIONS | 这种命令及他们的选项,包括了 User Commands 和 Administration Commands | 
3.2 用户命令
用于用户hadoop cluster
3.2.1 classpath
语法:hdfs classpath [--glob |--jar <path> |-h |--help]
| COMMAND_OPTION | Description | 
| --glob | expand wildcards | 
| --jar path | Classpath指向一个jar包 | 
| -h, --help | print help | 
打印classpath需要获取hadoop的jar包并且需要的lib。如果调用不带参数,会输出命令脚本setup的classpath,classpath包含了通配符。其他的选项打印classpath通配符扩展后的classpath,或者把classpath写入到jar包的manifest。
3.2.2 dfs
语法:hdfs dfs [COMMAND [COMMAND_OPTIONS]]
在hadoop支持的文件系统上,运行文件系统命令。各种COMMAND_OPTIONS可以在 File System Shell Guide 查看。
3.2.3 envvars
语法:hdfs envvars
输出hadoop环境变量
3.2.4 fetchdt
语法hdfs fetchdt <opts> <token_file_path>
| COMMAND_OPTION | Description | 
| --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的路径 | 
从namenode 获取token,具体查看:fetchdt
3.2.5 fsck
hdfs fsck <path>
[-list-corruptfileblocks |
[-move | -delete | -openforwrite]
[-files [-blocks [-locations | -racks | -replicaDetails | -upgradedomains]]]
[-includeSnapshots] [-showprogress]
[-storagepolicies] [-maintenance]
[-blockId <blk_Id>]
| COMMAND_OPTION | Description | 
| 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文件系统检查工具,具体查看: fsck
3.2.6 getconf
hdfs getconf -namenodes
hdfs getconf -secondaryNameNodes
hdfs getconf -backupNodes
hdfs getconf -includeFile
hdfs getconf -excludeFile
hdfs getconf -nnRpcAddresses
hdfs getconf -confKey [key]
| COMMAND_OPTION | Description | 
| -namenodes | 获取集群的namenodes | 
| -secondaryNameNodes | 获取集群的secondarynamenodes | 
| -backupNodes | 获取集群的backupnodes | 
| -includeFile | 允许Datanode join到集群的文件列表 | 
| -excludeFile | 不允许datanodejoin到集群的文件列表 | 
| -nnRpcAddresses | namenode rpc 地址 | 
| -confKey [key] | 从配置文件中获取指定的key | 
3.2.7 groups
hdfs groups [username ...]
返回给定用户或多个用户的group信息。
3.2.8 httpfs
hdfs httpfs
启动httpfs服务,HDFS HTTP网关
3.2.9 lsSnapshottableDir
hdfs lsSnapshottableDir [-help]
获取snapshottable目录。当以super user用户运行,会返回所有的snapshottable目录。否则范围属于该用户所有的目录。
3.2.10 jmxget
hdfs jmxget [-localVM ConnectorURL | -port port | -server mbeanserver | -service service]
| COMMAND_OPTION | Description | 
| -help | print 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信息
3.2.11 oev
hdfs oev [OPTIONS] -i INPUT_FILE -o OUTPUT_FILE
输入:
| COMMAND_OPTION | Description | 
| -i,--inputFile arg | edits file to process, xml 后缀表示xml文件,任何其他文件名表示bianry文件 | 
| -o,--outputFile arg | 输出的文件名. 如果文件已经存在,那么就会被覆盖,文件的格式由-p决定。 | 
选项:
| COMMAND_OPTION | Description | 
| -f,--fix-txids | 重新编号事务id,修复gap或者不可用的事务id | 
| -h,--help | 显示使用的信息并且退出 | 
| -r,--recover | 当读取binary edit log,使用恢复模式。可以让你有机会跳过editlog的错误部分 | 
| -p,--processor arg | 选择使用什么处理器来应用imagefile,当前支持的处理器:bianry(hadoop使用的binary文件格式), | 
| -v,--verbose | Verbose输出,打印输入和输出的文件,对于处理器输出到文件的也会输出到屏幕。 | 
Hadoop offline editlog查看器。具体查看: Offline Edits Viewer Guide
3.2.12 oiv
hdfs oiv [OPTIONS] -i INPUT_FILE
输入:
| COMMAND_OPTION | Description | 
| -i|--inputFile input | 指定输入的fsimage文件 | 
选项:
| COMMAND_OPTION | Description | 
| -o,--outputFile output | 指定output文件名,如果指定的输出一个,如果文件已经存在就会被覆盖。 | 
| -p,--processor processor | 指定一个image处理器应用image文件。当前可以用的选项web(默认),xml,delimited, | 
| -addr address | 指定监听的地址. | 
| -maxSize size | 指定被分析的文件的大小范围[0-maxsize],这个选项用来FileDistribution processor | 
| -step size | 指定分布的粒度默认为2MB,用于FileDistribution | 
| -format | 格式化输出的结果为可读的方式,而不是一些字节。默认false。用与FileDistribution | 
| -delimiter arg | String边界,用于Delimited processor | 
| -t,--temp temporary | 使用临时目录来保存中间结果来生成Delimited输出。如果没有set. | 
| -h,--help | 输出帮助 | 
Hadoop offline image viewer查看image文件,查看: Offline Image Viewer Guide
3.2.13 oiv_legacy
hdfs oiv_legacy [OPTIONS] -i INPUT_FILE -o OUTPUT_FILE
| COMMAND_OPTION | Description | 
| -i,--inputFile input | 指定input | 
| -o,--outputFile output | 指定输出的文件,如果指定就会输出一个. 如果文件已经存在会被覆盖. | 
选项
| COMMAND_OPTION | Description | 
| -p|--processor processor | 指定image处理器来应用image文件。选项Ls默认,XML,Delimited,indented,filedistribution | 
| -maxSize size | 指定被分析的文件的大小范围[0-maxsize],这个选项用来FileDistribution processor | 
| -step size | 指定分布的粒度默认为2MB,用于FileDistribution | 
| -format | 格式化输出的结果为可读的方式,而不是一些字节。默认false。用与FileDistribution | 
| -skipBlocks | 文件中不枚举不可用不可用的block。会减少处理时间和输出文件大小。 | 
| -printToScreen | 和输出的文件的内容一样,输出到屏幕。在极巨大的命名空间,会增加处理时间。 | 
| -delimiter arg | 当使用delimited处理器,替换默认的tab分隔为参数 | 
| -h|--help | 输出帮助信息 | 
老的hadoop的hodoop offline image viewer
3.2.14 snapshotDiff
hdfs snapshotDiff <path> <fromSnapshot>
<toSnapshot>
确定HDFS快照的不同。
3.2.15 version
Hdfs version
输出版本号
3.3 管理命令
Hadoop cluster的管理命令
3.3.1 balancer
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]
| COMMAND_OPTION | Description | 
| -policy <policy> | datanode (default): | 
| -threshold <threshold> | 磁盘容量的百分比。会覆盖默认的阀值 | 
| -exclude | 均衡排除这些datanode | 
| -include | 只有这些datanode会被均衡 | 
| -source | 指定datanode作为sourcenode | 
| -blockpools <comma-separated | 均衡器只会运行在这些blockpool | 
| -idleiterations <iterations> | 退出前最大的限制迭代。默认是5 | 
| -runDuringUpgrade | 是否在HDFS更新的时候进行均衡。通常是不会的,在空间被过度利用的设备上不会有影响 | 
| -h|--help | 输出帮助 | 
运行集群均衡器。管理员可以简单的ctlr+c关闭重新均衡。具体可以看 Balancer
Blockpool策略比datanode更加严格。
在上面说的选项之外,2.7开始加入了pinning功能来防止均衡器移动副本。这个pinning特性默认是禁用的。可以通过dfs.datanode.block-pinning.enabled启动。当启动,这个特性只会影响写入到favored node,通过create()被调用。当想要在本地维护数据的话这个特性很有用,特别是HBase Regionserver的应用。
3.3.2 cacheadmin
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 Cache Administration Documentation
3.3.3 crypto
hdfs crypto -createZone -keyName <keyName>
-path <path>
hdfs crypto -listZones
hdfs crypto -provisionTrash -path <path>
hdfs crypto -help <command-name>
查看: HDFS Transparent Encryption Documentation
3.3.4 datanode
hdfs datanode [-regular | -rollback | -rollingupgrade
rollback]
| COMMAND_OPTION | Description | 
| -regular | 正常启动datanode(default). | 
| -rollback | 回退datanode到之前的版本 | 
| -rollingupgrade rollback | 回滚更新操作. | 
3.3.5 dfsadmin
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]]
| COMMAND_OPTION | Description | 
| -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> | See HDFS Quotas Guide for the detail. | 
| -clrQuota <dirname>…<dirname> | See HDFS Quotas Guide for the detail. | 
| -setSpaceQuota <quota> [-storageType | See HDFS Quotas Guide for the detail. | 
| -clrSpaceQuota [-storageType | See HDFS Quotas Guide for the detail. | 
| -finalizeUpgrade | 完成hdfs更新。Datanode会删除之之前版本的working目录。 | 
| -rollingUpgrade [<query>|<prepare>|<finalize>] | See Rolling Upgrade document for the | 
| -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> | Triggers a runtime-refresh of the resource specified by | 
| -reconfig <datanode | 启动重新配置或者获取在线的配置状态,第2个选项指定类型。 | 
| -printTopology | Namenode报告节点的机架树结构 | 
| -refreshNamenodes datanodehost:port | 对于给定的datanoe,重载配置文件, | 
| -getVolumeReport datanodehost:port | 对于给定的datanode,volume report. | 
| -deleteBlockPool datanode-host:port | 如果指定了强制,,指定的blockpool id的block pool会被删除,否则只会删除空的目录。如果datanode还是在serving这个block pool那么就会失败。关于关闭block pool可以使用refreshnamenode。 | 
| -setBalancerBandwidth <bandwidth | 在HDFS块平衡的时候使用使用的最大带宽,修改网络带宽. | 
| -getBalancerBandwidth<datanode_host:ipc_port> | 获取指定datanode的网络带宽。在HDFS块平衡的时候使用的最大带宽。 | 
| -fetchImage <local | 下载最新的fsimage并保存在本地目录 | 
| -allowSnapshot <snapshotDir> | 允许某个目录创建快照。如果操作完成,目录就会变成snapshottable. See | 
| -disallowSnapshot <snapshotDir> | 禁止这个目录创建快照。目录下的快照必须在禁止前先删除See | 
| -shutdownDatanode<datanode_host:ipc_port> | Submit a shutdown request for the given datanode. See Rolling Upgrade document for the | 
| -evictWriters<datanode_host:ipc_port> | 删除某个datanode的所有写入。如果在下线datanode因为slow writer被挂起的时候很有用。 | 
| -getDatanodeInfo<datanode_host:ipc_port> | 获取指定datanode的信息. | 
| -metasave filename | 保存namenode的primary数据结构到filename,目录在hadoop.log.dir属性中指定。如果已经存在就会被覆盖。Filename会为以下每个保存一行: | 
| -triggerBlockReport [-incremental]<datanode_host:ipc_port> | 触发一个指定datanode的block report,如果有incremental参数就是增量的否则就是full的 | 
| -listOpenFiles | 列出namenode当前被打开的文件列表,包含client name和client 设备 | 
| -help [cmd] | 输出帮助 | 
3.3.6 diskbalancer
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>]
| COMMAND_OPTION | Description | 
| -plan | 创建diskbalancer计划 | 
| -execute | 在datanode上执行指定plan | 
| -query | 获取datanode当前diskbalancer状态 | 
| -cancel | 取消正在运行的plan | 
| -report | 报告datanode的卷信息 | 
3.3.7 ec
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 ...]]
| COMMAND_OPTION | Description | 
| -setPolicy | 设置目录的指定的ErasureCoding | 
| -getPolicy | 获取指定目录的 | 
| -unsetPolicy | Unset由setpolicy设置的 ErasureCoding 策略 | 
| -listPolicies | 列出支持的 | 
| -addPolicies | 添加 | 
| -listCodecs | Get the list of supported erasure coding codecs and coders in | 
| -enablePolicy | Enable an ErasureCoding policy in system | 
| -disablePolicy | Disable an ErasureCoding policy in system | 
3.3.8 haadmin
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>
| COMMAND_OPTION | Description | |
| -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) | |
| -help [cmd] | 显示帮助信息 | 
可以查看 HDFS HA with NFS 和 HDFS HA with QJM
3.3.9 journalnode
hdfs journalnode
启动journalnode,具体看 HDFS HA with QJM
3.3.10 mover
hdfs mover [-p <files/dirs> | -f <local file
name>]
| COMMAND_OPTION | Description | 
| -f <local | 指定本地文件里面包含了要移动的文件和目录 | 
| -p <files/dirs> | 指定需要移动的过个文件和目录 | 
执行数据迁移工具。查看 Mover
-p或者-f没有指定,默认是root目录。
3.3.11 namenode
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 ]
| COMMAND_OPTION | Description | 
| -backup | Start backup node. | 
| -checkpoint | Start checkpoint node. | 
| -format [-clusterid | 格式化NameNode. | 
| -upgrade [-clusterid | Hadoop新版本更新 | 
| -upgradeOnly [-clusterid | 更新指定的 | 
| -rollback | 回滚到之前的版本。在安装老的hadoop版本,然后停止集群后运行。 | 
| -rollingUpgrade<rollback|started> | See Rolling Upgrade document for the | 
| -importCheckpoint | 从checkpoint目录中加载image,然后保存到current,Checkpoint 目录在dfs.namenode.checkpoint.dir | 
| -initializeSharedEdits | 格式化一个新的共享的edit目录,并且复制足够的editlogsegment,这样standbynamendoe可以启动 | 
| -bootstrapStandby [-force] [-nonInteractive] [-skipSharedEditsCheck] | 允许standbynamenode的共享存储目录,从最厚一个namespace中复制快照然后启动。这个在第一次配置HA集群的时候非常有用. 选项-force或 | 
| -recover [-force] | 从损坏的文件系统中恢复出元数据See HDFS User Guide for the detail. | 
| -metadataVersion | 验证配置的目录存在,然后打印出软件的元数据版本和image | 
3.3.12 nfs3
hdfs nfs3
启动NFS3
gateway 具体看: HDFS NFS3 Service
3.3.13 portmap
hdfs portmap
启动RPC protmap
具体看: HDFS NFS3 Service
3.3.14 secondarynamenode
hdfs secondarynamenode [-checkpoint [force]] | [-format] |
[-geteditsize]
| COMMAND_OPTION | Description | 
| -checkpoint [force] | 如果EditLog | 
| -format | 在启动时,格式化 | 
| -geteditsize | 输出namenode uncheckpoint事务的个数 | 
3.3.15 storagepolicies
hdfs storagepolicies
[-listPolicies]
[-setStoragePolicy -path
<path> -policy <policy>]
[-getStoragePolicy -path
<path>]
[-unsetStoragePolicy -path
<path>]
[-help <command-name>]
输出所有/gets/sets/unsets存储策略。查看 HDFS Storage Policy Documentation
3.3.16 zkfc
hdfs zkfc [-formatZK [-force] [-nonInteractive]]
| COMMAND_OPTION | Description | 
| -formatZK | 格式化 | 
| -h | 显示帮助 | 
3.4 Debug command
3.4.1 verifyMeta
hdfs debug verifyMeta -meta <metadata-file> [-block
<block-file>]
| COMMAND_OPTION | Description | 
| -block block-file | 指定nanode决定路径在本地文件系统的路径 | 
| -meta metadata-file | 指向datanode绝对路径的元数据文件 | 
验证hdfs元数据和block文件。如果block文件被指定,会验证meta和block的checksum
3.4.2 computeMeta
hdfs debug computeMeta -block <block-file> -out
<output-metadata-file>
| COMMAND_OPTION | Description | 
| -block block-file | 指定nanode决定路径在本地文件系统的路径 | 
| -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.
3.4.3 recoverLesse
hdfs debug recoverLease -path <path> [-retries
<num-retries>]
| COMMAND_OPTION | Description | 
| [-path path] | HDFS用来恢复lease的地址. | 
| [-retries num-retries] | 客户端调用recoverlease的次数。默认为1 | 
使用特定的路径来恢复lease。Path必须在hdfs文件系统,默认的重试次数是1
[HDFS Manual] CH3 HDFS Commands Guide的更多相关文章
- [HDFS Manual] CH2 HDFS Users Guide
		2 HDFS Users Guide 2 HDFS Users Guide 2.1目的 2.2.概述 2.3.先决条件 2.4. Web Interface 2.5. Shell Command 2. ... 
- [HDFS Manual] CH6 HDFS Federation
		HDFS Federation HDFS Federation 1 Background 2.多个namenode/namespace 2.1 关键好处 3 联合配置 3.1 配置 3.2 格式化na ... 
- [HDFS Manual] CH1 HDFS体系结构
		v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VM ... 
- [HDFS Manual] CH4 HDFS High Availability Using the Quorum Journal Manager
		HDFS High Availability Using the Quorum Journal Manager HDFS High Availability Using the Quorum Jour ... 
- [HDFS Manual] CH8 HDFS Snapshots
		HDFS Snapshots HDFS Snapshots 1. 概述 1.1 Snapshottable目录 1.2 快照路径 2. 带快照的更新 3. 快照操作 3.1 管理操作 3.2 用户操作 ... 
- Hadoop之hadoop fs和hdfs dfs、hdfs fs三者区别
		适用范围 案例 备注 小记 hadoop fs 使用范围最广,对象:可任何对象 hadoop dfs 只HDFS文件系统相关 hdfs fs 只HDFS文件系统相关(包括与 ... 
- 【hadoop】python通过hdfs模块读hdfs数据
		hdfs官网:http://hdfscli.readthedocs.io/en/latest/api.html 一个非常好的博客:http://blog.csdn.net/gamer_gyt/arti ... 
- HDFS之四:HDFS原理解析(总体架构,读写操作流程)
		前言 HDFS 是一个能够面向大规模数据使用的,可进行扩展的文件存储与传递系统.是一种允许文件通过网络在多台主机上分享的文件系统,可让多机器上的多用户分享文件和 存储空间.让实际上是通过网络来访问文件 ... 
- [HDFS Manual] CH7 ViewFS Guide
		ViewFS Guide ViewFS Guide 1 介绍 2. The Old World(Prior to Federation) 2.1单个Namenode Clusters 2.2 路径使用 ... 
随机推荐
- MVC面试问题与答案
			读这篇文章不意味着你一定要去并且能搞定MVC面试.这篇文章的目的是在面试之前让你快速复习MVC知识.这篇文章也不是MVC培训课程. 如果你想学习MVC,从这儿开始 Learn MVC ( Model ... 
- BZOJ.2159.Crash的文明世界(斯特林数 树形DP)
			BZOJ 洛谷 挺套路但并不难的一道题 \(Description\) 给定一棵\(n\)个点的树和\(K\),边权为\(1\).对于每个点\(x\),求\(S(x)=\sum_{i=1}^ndis( ... 
- IDEA安装使用Lombok插件
			项目中经常使用bean,entity等类,绝大部分数据类类中都需要get.set.toString.equals和hashCode方法,虽然IDEA开发环境下都有自动生成的快捷方式,但自动生成这些代码 ... 
- Java笔记(三)异常
			异常 一.概念 一)为什么会有Java异常机制 在没有Java异常机制的情况下,唯一的退出机制就是返回值,判断是否异常的方法就是 返回值.方法根据是否异常返回不同的返回值,调用者根据不同的返回值进行判 ... 
- C++ Primer 与“类”有关的注意事项总结
			C++ 与"类"有关的注意事项总结(一) 1. 除了静态 static 数据成员外,数据成员不能在类体中被显式地初始化. 例如 : class First { int memi = ... 
- [c++] opencv加载png
			1.cvloadimage载入png文件时,默认的第2个参数是1,即CV_LOAD_IMAGE_COLOR,生成的iplimage对象的channel数是3,而不是4,丢失了第4通道.需要改为cvlo ... 
- meta总结
			做项目的时候发现正常的代码在360浏览器上样式都是乱的,翻阅资料才发现360是双核,分为极速模式和兼容模式,极速模式是用webkit内核,兼容模式是用trident内核(也就是IE内核),最后加了一行 ... 
- Source map error
			前端访问接口时火狐浏览器控制台出现了这个问题, source map文件是js文件压缩后,文件的变量名替换对应.变量所在位置等元信息数据文件,一般这种文件和min.js主文件放在同一个目录下. 比如压 ... 
- oracle 连接
			1.简述 1) 两个表的连接,是通过将一个表中的一列或者多列同另一个表中的列链接而建立起来的.用来连接两张表的表达式组成了连接条件.当连接成功后,第二张表中的数据就同第一张表连接起来了,并形成了复合 ... 
- JS膏集04
			JS膏集04 1.apply和call方法 可以改变this的指向,可以用于函数的调用 apply和call方法中如果没有传入参数,或者传入null,那么调用该方法的函数中的this就是window ... 
