zoukankan      html  css  js  c++  java
  • [HDFS Manual] CH3 HDFS Commands Guide

    HDFS Commands Guide

    HDFS Commands Guide. 1

    3.1概述... 1

    3.2 用户命令... 1

    3.2.1 classpath. 1

    3.2.2 dfs. 1

    3.2.3 envvars. 1

    3.2.4 fetchdt. 1

    3.2.5 fsck. 1

    3.2.6 getconf. 1

    3.2.7 groups. 1

    3.2.8 httpfs. 1

    3.2.9 lsSnapshottableDir. 1

    3.2.10 jmxget. 1

    3.2.11 oev. 1

    3.2.12 oiv. 1

    3.2.13 oiv_legacy. 1

    3.2.14 snapshotDiff. 1

    3.2.15 version. 1

    3.3 管理命令... 1

    3.3.1 balancer. 1

    3.3.2 cacheadmin. 1

    3.3.3 crypto. 1

    3.3.4 datanode. 1

    3.3.5 dfsadmin. 1

    3.3.6 diskbalancer. 1

    3.3.7 ec. 1

    3.3.8 haadmin. 1

    3.3.9 journalnode. 1

    3.3.10 mover. 1

    3.3.11 namenode. 1

    3.3.12 nfs3. 1

    3.3.13 portmap. 1

    3.3.14 secondarynamenode. 1

    3.3.15 storagepolicies. 1

    3.3.16 zkfc. 1

    3.4 Debug command. 1

    3.4.1 verifyMeta. 1

    3.4.2 computeMeta. 1

    3.4.3 recoverLesse. 1

     

    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启动checkpoint. Force,强制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

     

  • 相关阅读:
    linux:安装php7.x
    linux:搭建 WordPress 个人站点
    linux:lnmp环境
    knn初了解
    Pycharm:鼠标滚动控制字体大小
    数据集的获取
    弄懂Java的自增变量
    面试中的volatile关键字
    Java的类锁、对象锁和方法锁
    Error creating bean with name 'entityManagerFactory' defined in class path resource解决方案
  • 原文地址:https://www.cnblogs.com/Amaranthus/p/8578715.html
Copyright © 2011-2022 走看看