开发者社区> 技术小胖子> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

[HDFS Manual] CH3 HDFS Commands Guide

简介:
+关注继续查看

HDFS Commands Guide

HDFS Commands Guide

3.1概述

3.2 用户命令

3.2.1 classpath

3.2.2 dfs

3.2.3 envvars

3.2.4 fetchdt

3.2.5 fsck

3.2.6 getconf

3.2.7 groups

3.2.8 httpfs

3.2.9 lsSnapshottableDir

3.2.10 jmxget

3.2.11 oev

3.2.12 oiv

3.2.13 oiv_legacy

3.2.14 snapshotDiff

3.2.15 version

3.3 管理命令

3.3.1 balancer

3.3.2 cacheadmin

3.3.3 crypto

3.3.4 datanode

3.3.5 dfsadmin

3.3.6 diskbalancer

3.3.7 ec

3.3.8 haadmin

3.3.9 journalnode

3.3.10 mover

3.3.11 namenode

3.3.12 nfs3

3.3.13 portmap

3.3.14 secondarynamenode

3.3.15 storagepolicies

3.3.16 zkfc

3.4 Debug command

3.4.1 verifyMeta

3.4.2 computeMeta

3.4.3 recoverLesse

 

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需要获取hadoopjar包并且需要的lib。如果调用不带参数,会输出命令脚本setupclasspathclasspath包含了通配符。其他的选项打印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

连接到nnurl(starts with http or https)

--renewer name

刷新nameoftoken

--cancel

取消token

--renew

刷新tokentoken必须已经通过fetched–renewername获取

--print

打印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

打印每个blockupgradedomain

-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文件格式)
xmlstats(输出 edit file 统计信息)

-v,--verbose

Verbose输出,打印输入和输出的文件,对于处理器输出到文件的也会输出到屏幕。
large image文件会动态的增加处理时间

Hadoop offline editlog查看器。具体查看: Offline Edits Viewer Guide 

3.2.12 oiv

hdfs oiv [OPTIONS] -i INPUT_FILE

输入:

COMMAND_OPTION

Description

-i|--inputFile input file

指定输入的fsimage文件

选项:

COMMAND_OPTION

Description

-o,--outputFile output file

指定output文件名,如果指定的输出一个,如果文件已经存在就会被覆盖。
如果输入的是xml文件会创建一个md
5

-p,--processor processor

指定一个image处理器应用image文件。当前可以用的选项web(默认)xmldelimited
filedistributionReverseXML

-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

-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 file

指定input fsimage 文件处理

-o,--outputFile output file

指定输出的文件,如果指定就会输出一个如果文件已经存在会被覆盖.

选项

COMMAND_OPTION

Description

-p|--processor processor

指定image处理器来应用image文件。选项Ls默认,XMLDelimited,indented,filedistribution
namedistribution

-maxSize size

指定被分析的文件的大小范围[0-maxsize],这个选项用来FileDistribution processor

-step size

指定分布的粒度默认为2MB,用于FileDistribution processor

-format

格式化输出的结果为可读的方式,而不是一些字节。默认false。用与FileDistribution processor

-skipBlocks

文件中不枚举不可用不可用的block。会减少处理时间和输出文件大小。
Ls处理器读取block来正确的决定文件大小并忽略这个选项。

-printToScreen

和输出的文件的内容一样,输出到屏幕。在极巨大的命名空间,会增加处理时间。

-delimiter arg

当使用delimited处理器,替换默认的tab分隔为参数

-h|--help

输出帮助信息

老的hadoophodoop 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): 如果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更新的时候进行均衡。通常是不会的,在空间被过度利用的设备上不会有影响

-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上测量replicationchecksumshapshots等等的原始空间。选项可以过滤显示的datanode

-safemode enter|leave|get|wait|forceExit

Safe mode维护命令. Safe modenamenode的状态

1. 不能修改namespace

2.不能复制,删除 blocks. 

Safemodenamenode启动的时候自动进入,,并且当配置的最小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的时候恢复fsiamgeeditlogCheck选项返回当前设置。

-refreshNodes

重新读取hostexcludefilenamenode重新对namenode上下线。

-setQuota <quota> <dirname>…<dirname>

See HDFS Quotas Guide for the detail.

-clrQuota <dirname>…<dirname>

See HDFS Quotas Guide for the detail.

-setSpaceQuota <quota> [-storageType <storagetype>] <dirname>…<dirname>

See HDFS Quotas Guide for the detail.

-clrSpaceQuota [-storageType <storagetype>] <dirname>…<dirname>

See HDFS Quotas Guide for the detail.

-finalizeUpgrade

完成hdfs更新。Datanode会删除之之前版本的working目录。

-rollingUpgrade [<query>|<prepare>|<finalize>]

See Rolling Upgrade document for the detail.

-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

对于给定的datanodevolume report.

-deleteBlockPool datanode-host:port blockpoolId [force]

如果指定了强制,,指定的blockpool idblock 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>

允许某个目录创建快照。如果操作完成,目录就会变成snapshottable. See the HDFS Snapshot Documentation for more information.

-disallowSnapshot <snapshotDir>

禁止这个目录创建快照。目录下的快照必须在禁止前先删除See the HDFS Snapshot Documentation for more information.

-shutdownDatanode<datanode_host:ipc_port> [upgrade]

Submit a shutdown request for the given datanode. See Rolling Upgrade document for the detail.

-evictWriters<datanode_host:ipc_port>

删除某个datanode的所有写入。如果在下线datanode因为slow writer被挂起的时候很有用。

-getDatanodeInfo<datanode_host:ipc_port>

获取指定datanode的信息. See Rolling Upgrade document for the detail.

-metasave filename

保存namenodeprimary数据结构到filename,目录在hadoop.log.dir属性中指定。如果已经存在就会被覆盖。Filename会为以下每个保存一行:
1. 
Datanodenamenode之间的心跳
2. Blocks
需要被复制的
3. Blocks 
真正在被复制的
4. Blocks 
等待被删除的

-triggerBlockReport [-incremental]<datanode_host:ipc_port>

触发一个指定datanodeblock report,如果有incremental参数就是增量的否则就是full

-listOpenFiles

列出namenode当前被打开的文件列表,包含client nameclient 设备

-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

获取指定目录的 ErasureCoding 策略信息

-unsetPolicy

Unsetsetpolicy设置的 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

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

启动2NameNodefailover

-getServiceState

决定namenodestandby还是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 file>

指定本地文件里面包含了要移动的文件和目录

-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 cid]

格式化NameNode. 启动NameNode, 初始化然后关闭如果目录已经存在或者reformat被禁止,抛出NameNodeFormatException.

-upgrade [-clusterid cid] [-renameReserved <k-v pairs>]

Hadoop新版本更新

-upgradeOnly [-clusterid cid] [-renameReserved <k-v pairs>]

更新指定的 NameNode 然后关闭.

-rollback

回滚到之前的版本。在安装老的hadoop版本,然后停止集群后运行。

-rollingUpgrade<rollback|started>

See Rolling Upgrade document for the detail.

-importCheckpoint

checkpoint目录中加载image,然后保存到currentCheckpoint 目录在dfs.namenode.checkpoint.dir

-initializeSharedEdits

格式化一个新的共享的edit目录,并且复制足够的editlogsegment,这样standbynamendoe可以启动

-bootstrapStandby [-force] [-nonInteractive] [-skipSharedEditsCheck]

允许standbynamenode的共享存储目录,从最厚一个namespace中复制快照然后启动。这个在第一次配置HA集群的时候非常有用选项-force -nonInteractive -format 效果类似. -skipSharedEditsCheck 选项跳过edit检查,保证我们需要在共享目录有足够的edit日志,让最后一次checkpoint 启动。

-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 size >= fs.checkpoint.sizesecondarynamenode启动checkpointForce,强制checkpoint不管 EditLog size.

-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

格式化 Zookeeper 实例. -force: 如果znode 存在对znode格式化. -nonInteractive: 如果znode存在,格式化znode除非-force选项被设置.

-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文件被指定,会验证metablockchecksum

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

使用特定的路径来恢复leasePath必须在hdfs文件系统,默认的重试次数是1

 




    本文转自 Fanr_Zh 博客园博客,原文链接:http://www.cnblogs.com/Amaranthus/p/8578715.html,如需转载请自行联系原作者




版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
全网首发:成功解决UOS系统上运行JAVA程序任务栏名称问题
全网首发:成功解决UOS系统上运行JAVA程序任务栏名称问题
120 0
HCL_交换机_单臂路由
HCL_交换机_单臂路由
169 0
SAP S/4HANA系统CDS view扩展原理分析
After extension field is created, I would like to retrieve its data from interface view, like I_PRODUCT. That is, the extension field is already in MARA, I want to consume it via I_PRODUCT instead of MARA.
74 0
从零开始搭建Java开发环境第二篇:如何在windows10里安装MySQL
1 下载安装包 1.1 压缩包 https://dev.mysql.com/downloads/mysql/ [外链图片转存失败(img-oesO8K09-1566652568838)(data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw== "点击并拖拽以移动")] 1.
782 0
利用Sqoop实现MySQL与HDFS数据互导
利用Sqoop将MySQL中的数据表导入到hdfs端:(表格的主键要存在) 首先在MySQL的test数据库中有如下表格person: 在终端输入以下命令即可实现将person表导入到hdfs端: sqoop impo...
1251 0
HTTPS-老司机手把手教你SSL证书申购-TrustAsia证书
前言 Apple从2016年逐步要求HTTPS,SSL相关证书等,上月的JSPatch封杀更是引起广大开发者的注意,整体来说多是为了安全考虑,那么SSL证书是硬需,考虑到上一篇:HTTPS时代已来,老司机手把手指导申请免费SSL证书 介绍了阿里云的相关证书,为了不仅仅依赖一...
2016 0
文章
问答
文章排行榜
最热
最新
相关电子书
更多
What’s new in Hadoop Common and HDFS
立即下载
Major advancements in Apache Hive towards full support of SQL compliance
立即下载
BUILDING REALTIME DATA PIPELINES WITH KAFKA CONNECT AND SPARK STREAMING
立即下载