HDFS 客户端的 Shell 命令

HDFS 命令

所有的 HDFS 命令都是由 bin/hdfs 脚本调用的。不带任何参数运行 hdfs 脚本将打印所有命令的描述。

Usage: hdfs [SHELL_OPTIONS] COMMAND [GENERIC_OPTIONS] [COMMAND_OPTIONS]

Hadoop有一个选项解析框架,它使用解析通用选项和运行类。

COMMAND_OPTIONS Description
SHELL_OPTIONS 一组常见的shell选项。这些都记录在命令手册页上。
GENERIC_OPTIONS 多个命令支持的常见选项集。有关更多信息,请参阅Hadoop命令手册。
COMMAND COMMAND_OPTIONS 下面几节将介绍各种命令及其选项。命令被分组为用户命令和管理命令。

用户命令

对hadoop集群的用户有用的命令。

classpath

Usage: hdfs classpath [--glob |--jar |-h |--help]

COMMAND_OPTION Description
--glob expand wildcards
--jar path 在jar命名路径中编写类路径作为清单
-h, --help print help

打印获取 Hadoop jar 和所需库所需的类路径。如果在不带参数的情况下调用,则输出命令脚本设置的类路径,它可能在类路径条目中包含通配符。其他选项在通配符展开后打印类路径,或者将类路径写入 jar 文件的清单中。后者在不能使用通配符并且展开的类路径超过了所支持的最大命令行长度的环境中非常有用。

dfs

Usage: hdfs dfs [COMMAND [COMMAND_OPTIONS]]

在 Hadoop 支持的文件系统上运行 filesystem 命令。可以在文件系统指南中找到各种COMMAND_OPTIONS。

envvars

Usage: hdfs envvars

显示计算的Hadoop环境变量。

fetchdt

Usage: hdfs fetchdt

COMMAND_OPTION Description
--webservice NN_Url 连接NN的Url(从http或https开始)
--renewer name 授权令牌续订者的名称
--cancel 取消授权令牌
--renew 更新授权令牌。必须使用-renewer name选项获取委托令牌。
--print 打印委托令牌
token_file_path 用于存储令牌的文件路径。

从 NameNode 获取委托令牌。更多信息见 fetchdt。

fsck

Usage:

   hdfs fsck 
          [-list-corruptfileblocks |
          [-move | -delete | -openforwrite]
          [-files [-blocks [-locations | -racks | -replicaDetails | -upgradedomains]]]
          [-includeSnapshots] [-showprogress]
          [-storagepolicies] [-maintenance]
          [-blockId ]
COMMAND_OPTION Description
path 从这个路径开始检查。
-delete 删除损坏的文件。
-files 打印被检查的文件。
-files -blocks 打印出块报告
-files -blocks -locations 打印出每个块的位置。
-files -blocks -racks 打印出数据节点位置的网络拓扑。
-files -blocks -replicaDetails 打印出每个副本细节。
-files -blocks -upgradedomains 打印出每个块的升级域。
-includeSnapshots 如果给定路径指示一个可快照目录,或者该目录下有可快照目录,则包含快照数据。
-list-corruptfileblocks 打印出丢失的块和他们所属的文件的列表。
-move 移动损坏的文件到 /lost+found.
-openforwrite 打印文件打开写。
-showprogress 在输出过程中打印出点。默认是关闭的(没有进展)。
-storagepolicies 打印出这些块的存储策略摘要。
-maintenance 打印维护状态节点的详细信息。
-blockId 打印出有关块的信息。

运行 HDFS 文件系统检查实用程序。更多信息见 fsck。

getconf

Usage:

   hdfs getconf -namenodes
   hdfs getconf -secondaryNameNodes
   hdfs getconf -backupNodes
   hdfs getconf -journalNodes
   hdfs getconf -includeFile
   hdfs getconf -excludeFile
   hdfs getconf -nnRpcAddresses
   hdfs getconf -confKey [key]
COMMAND_OPTION Description
-namenodes 获取集群中的namenode列表。
-secondaryNameNodes 获取集群中的辅助名称节点列表。
-backupNodes 获取集群中备份节点的列表。
-journalNodes 获取群集中的日志节点列表。
-includeFile 获取定义可以加入集群的 DataNode 的包含文件路径。
-excludeFile 获取定义需要退役的 DataNode 的排除文件路径。
-nnRpcAddresses 获取namenode rpc地址
-confKey [key] 从配置中获取特定密钥

从配置目录获取配置信息,进行后处理。

groups

Usage: hdfs groups [username ...]

返回给定一个或多个用户名的组信息。

httpfs

Usage: hdfs httpfs

运行HttpFS服务器,HDFS HTTP网关。

lsSnapshottableDir

Usage: hdfs lsSnapshottableDir [-help]

COMMAND_OPTION Description
-help print help

获取可快照目录列表。当它作为超级用户运行时,它返回所有可快照目录。否则,它将返回当前用户所拥有的目录。

jmxget

Usage: hdfs jmxget [-localVM ConnectorURL | -port port | -server mbeanserver | -service service]

COMMAND_OPTION Description
-help print help
-localVM ConnectorURL 连接到同一台机器上的VM
-port mbean server port 指定mbean服务器端口,如果缺少,它将尝试连接到同一VM中的mbean服务器
-server specify mbean server (localhost by default)
-service NameNode|DataNode specify jmx service. NameNode by default.

从服务转储JMX信息。

oev

Usage: hdfs oev [OPTIONS] -i INPUT_FILE -o OUTPUT_FILE

所需命令行参数:

COMMAND_OPTION Description
-i,--inputFile arg 编辑文件处理,xml(不区分大小写)扩展意味着xml格式,任何其他文件名意味着二进制格式
-o,--outputFile arg 输出文件的名称。如果指定的文件存在,它将被覆盖,文件的格式由-p选项决定

可选命令行参数:

COMMAND_OPTION Description
-f,--fix-txids 在输入中重新编号事务id,以便不存在空白或无效的事务id。
-h,--help 显示使用信息并退出
-r,--recover 当读取二进制编辑日志时,使用恢复模式。这将使您有机会跳过编辑日志中损坏的部分。
-p,--processor arg 选择对图像文件应用的处理器类型,当前支持的处理器有:二进制(Hadoop使用的原生二进制格式)、xml(默认为xml格式)、stats(打印关于编辑文件的统计信息)
-v,--verbose 更详细的输出,打印输入和输出文件名,对于写文件的处理器,也输出到屏幕。对于大型图像文件,这将极大地增加处理时间(默认为false)。

Hadoop offline edits viewer. See Offline Edits Viewer Guide for more info.Hadoop离线编辑查看器。更多信息请参见离线编辑查看器指南。

oiv

Usage: hdfs oiv [OPTIONS] -i INPUT_FILE

Required command line arguments:

COMMAND_OPTION Description
-i|--inputFile input file 指定要处理的输入fsimage文件(如果使用reverse exml处理器,则为XML文件)。

Optional command line arguments:

COMMAND_OPTION Description
-o,--outputFile output file 如果指定的输出处理程序生成输出文件名,则指定输出文件名。如果指定的文件已经存在,则会以静默方式覆盖它。(默认情况下输出到stdout)如果输入文件是XML文件,它还创建一个.md5。
-p,--processor processor 指定要应用于映像文件的映像处理器。当前有效的选项是Web(默认)、XML、Delimited、FileDistribution和ReverseXML。
-addr address 指定要监听的地址(主机:端口)。在默认情况下(localhost: 5978)。此选项用于Web处理器。
-maxSize size 指定要分析的文件大小的范围[0,maxSize],以字节为单位(默认为128GB)。此选项用于文件分发处理器。
-step size 以字节为单位指定分布的粒度(默认为2MB)。此选项用于文件分发处理器。
-format 以人类可读的方式(而不是字节数)格式化输出结果。(默认错误)。此选项用于文件分发处理器。
-delimiter arg 在带分隔符的处理程序中使用的分隔字符串。
-t,--temp temporary dir 使用临时dir缓存中间结果以生成带分隔符的输出。如果没有设置,分隔符处理器将在输出文本之前在内存中构造名称空间。
-h,--help 显示工具使用情况和帮助信息并退出。

Hadoop Offline Image Viewer for image files in Hadoop 2.4 or up. See Offline Image Viewer Guide for more info.

oiv_legacy

Usage: hdfs oiv_legacy [OPTIONS] -i INPUT_FILE -o OUTPUT_FILE

COMMAND_OPTION Description
-i,--inputFile input file 指定要处理的输入fsimage文件。
-o,--outputFile output file 如果指定的输出处理程序生成输出文件名,则指定输出文件名。如果指定的文件已经存在,则会以静默方式覆盖它。

Optional command line arguments:

COMMAND_OPTION Description
-p|--processor processor 指定要应用于映像文件的映像处理器。有效的选项是Ls(默认)、XML、分隔符、缩进、文件分发和名称分发。
-maxSize size 指定要分析的文件大小的范围[0,maxSize],以字节为单位(默认为128GB)。此选项用于文件分发处理器。
-step size 以字节为单位指定分布的粒度(默认为2MB)。此选项用于文件分发处理器。
-format 以人类可读的方式(而不是字节数)格式化输出结果。(默认错误)。此选项用于文件分发处理器。
-skipBlocks 不要枚举文件中的单个块。对于非常大的文件,这可以节省名称空间上的处理时间和外文件空间。Ls处理器读取块以正确确定文件大小并忽略此选项。
-printToScreen 处理程序的管道输出到控制台以及指定的文件。在非常大的名称空间上,这可能会使处理时间增加一个数量级。
-delimiter arg 与带分隔符的处理器一起使用时,将默认制表符分隔符替换为由arg指定的字符串。
-h|--help Display the tool usage and help information and exit.

旧版本的Hadoop离线图像查看器。See oiv_legacy Command for more info.旧版本的Hadoop离线图像查看器。更多信息请参见oiv_legacy命令。

snapshotDiff

Usage: hdfs snapshotDiff

确定HDFS快照之间的区别。See the HDFS Snapshot Documentation for more information.有关更多信息,请参阅HDFS快照文档。

version

Usage: hdfs version

Prints the version.

Administration Commands

对hadoop集群的管理员有用的命令。

balancer

Usage:

    hdfs balancer
          [-policy ]
          [-threshold ]
          [-exclude [-f  | ]]
          [-include [-f  | ]]
          [-source [-f  | ]]
          [-blockpools ]
          [-idleiterations ]
          [-runDuringUpgrade]
COMMAND_OPTION Description
-policy  datanode(默认):如果每个datanode都是平衡的,那么集群就是平衡的。
块池:如果每个datanode中的块池都是平衡的,那么集群就是平衡的。
-threshold  磁盘容量百分比。这将覆盖默认阈值。
-exclude -f  | Excludes the specified datanodes from being balanced by the balancer.
-include -f  | Includes only the specified datanodes to be balanced by the balancer.
-source -f  | Pick only the specified datanodes as source nodes.
-blockpools  The balancer will only run on blockpools included in this list.
-idleiterations  Maximum number of idle iterations before exit. This overwrites the default idleiterations(5).
-runDuringUpgrade Whether to run the balancer during an ongoing HDFS upgrade. This is usually not desired since it will not affect used space on over-utilized machines.
-h|--help Display the tool usage and help information and exit.

运行一个集群平衡实用程序。管理员只需按下Ctrl-C就可以停止重新平衡过程。See Balancer for more details.

注意块池策略比datanode策略更严格。

除了上面的命令选项之外,从2.7.0开始还引入了一个固定特性,以防止某些副本被均衡器/移动器移动。默认情况下该固定功能是禁用的,可以通过配置属性" dfs.datanode.block-pinning.enabled "启用。当启用时,该特性只影响写入create()调用中指定的优先节点的块。当我们希望为 HBase regionserver 等应用程序维护数据局部性时,该特性非常有用。

cacheadmin

Usage:

hdfs cacheadmin [-addDirective -path  -pool  [-force] [-replication ] [-ttl ]]
hdfs cacheadmin [-modifyDirective -id  [-path ] [-force] [-replication ] [-pool ] [-ttl ]]
hdfs cacheadmin [-listDirectives [-stats] [-path ] [-pool ] [-id ]]
hdfs cacheadmin [-removeDirective ]
hdfs cacheadmin [-removeDirectives -path ]
hdfs cacheadmin [-addPool  [-owner ] [-group ] [-mode ] [-limit ] [-maxTtl ]]
hdfs cacheadmin [-modifyPool  [-owner ] [-group ] [-mode ] [-limit ] [-maxTtl ]]
hdfs cacheadmin [-removePool ]
hdfs cacheadmin [-listPools [-stats] []]
hdfs cacheadmin [-help ]

See the HDFS Cache Administration Documentation for more information.

crypto

Usage:

  hdfs crypto -createZone -keyName  -path 
  hdfs crypto -listZones
  hdfs crypto -provisionTrash -path 
  hdfs crypto -help 

See the HDFS Transparent Encryption Documentation for more information.

datanode

Usage: hdfs datanode [-regular | -rollback | -rollingupgrade rollback]

COMMAND_OPTION Description
-regular Normal datanode startup (default).
-rollback Rollback the datanode to the previous version. This should be used after stopping the datanode and distributing the old hadoop version.
-rollingupgrade rollback Rollback a rolling upgrade operation.

Runs a HDFS datanode.

dfsadmin

Usage:

    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  ...]
    hdfs dfsadmin [-clrQuota ...]
    hdfs dfsadmin [-setSpaceQuota  [-storageType ] ...]
    hdfs dfsadmin [-clrSpaceQuota [-storageType ] ...]
    hdfs dfsadmin [-finalizeUpgrade]
    hdfs dfsadmin [-rollingUpgrade [ | |]]
    hdfs dfsadmin [-upgrade [query | finalize]
    hdfs dfsadmin [-refreshServiceAcl]
    hdfs dfsadmin [-refreshUserToGroupsMappings]
    hdfs dfsadmin [-refreshSuperUserGroupsConfiguration]
    hdfs dfsadmin [-refreshCallQueue]
    hdfs dfsadmin [-refresh   [arg1..argn]]
    hdfs dfsadmin [-reconfig   ]
    hdfs dfsadmin [-printTopology]
    hdfs dfsadmin [-refreshNamenodes datanodehost:port]
    hdfs dfsadmin [-getVolumeReport datanodehost:port]
    hdfs dfsadmin [-deleteBlockPool datanode-host:port blockpoolId [force]]
    hdfs dfsadmin [-setBalancerBandwidth ]
    hdfs dfsadmin [-getBalancerBandwidth ]
    hdfs dfsadmin [-fetchImage ]
    hdfs dfsadmin [-allowSnapshot ]
    hdfs dfsadmin [-disallowSnapshot ]
    hdfs dfsadmin [-shutdownDatanode  [upgrade]]
    hdfs dfsadmin [-evictWriters ]
    hdfs dfsadmin [-getDatanodeInfo ]
    hdfs dfsadmin [-metasave filename]
    hdfs dfsadmin [-triggerBlockReport [-incremental] ]
    hdfs dfsadmin [-listOpenFiles [-blockingDecommission] [-path ]]
    hdfs dfsadmin [-help [cmd]]
COMMAND_OPTION Description
-report [-live] [-dead] [-decommissioning] [-enteringmaintenance] [-inmaintenance] 报告基本的文件系统信息和统计信息,dfs的使用可能不同于“du”的使用,因为它测量所有DNs上的复制、校验和、快照等所使用的原始空间。可选标志可用于筛选显示的 DataNode 列表。
-safemode enter|leave|get|wait|forceExit 安全模式维护命令。安全模式是一种Namenode状态
1. 不接受对名称空间的更改(只读)
2. 不复制或删除块。
安全模式在 Namenode 启动时自动输入,当配置的最小块百分比满足最小复制条件时自动离开安全模式。如果 Namenode 检测到任何异常,那么它将停留在安全模式中,直到问题得到解决。如果异常是故意操作的结果,那么管理员可以使用 -safemode forceExit 退出安全模式。 可能需要强制出口的情况是
1. Namenode 元数据不一致。如果 Namenode 检测到元数据在带外被修改,并且可能导致数据丢失,那么 Namenode 将进入 forceExit 状态。此时,用户可以使用正确的元数据文件或forceExit(如果可以接受数据丢失的话)重新启动 Namenode。
2. 回滚会导致元数据被替换,而且它很少会触发 Namenode 中的安全模式 forceExit 状态。在这种情况下,您可以继续通过发行 -safemode forceExit。
安全模式也可以手动输入,但也只能手动关闭。
-saveNamespace [-beforeShutdown] 将当前名称空间保存到存储目录中并重置编辑日志。需要安全模式。如果提供了“beforeShutdown”选项,则 NameNode 只有在一个时间窗口(可配置的检查点周期数量)内没有执行检查点时才执行检查点。这通常在关闭 NameNode 之前使用,以防止潜在的 fsimage/editlog 损坏。
-rollEdits 滚动活动 NameNode 上的编辑日志。
-restoreFailedStorage true|false|check 此选项将打开/关闭自动尝试恢复失败的存储副本。如果失败的存储重新可用,系统将尝试在检查点期间恢复 edit和/或 fsimage。“检查”选项将返回当前设置。
-refreshNodes 重新读取主机并排除文件,以更新允许连接到 Namenode 的 DataNode,以及应该退役或重新启用的 DataNode 集。
-setQuota  See HDFS Quotas Guide for the detail.
-clrQuota  See HDFS Quotas Guide for the detail.
-setSpaceQuota  [-storageType See HDFS Quotas Guide for the detail.
-clrSpaceQuota [-storageType See HDFS Quotas Guide for the detail.
-finalizeUpgrade 完成 HDFS 的升级。datanode 删除它们以前版本的工作目录,Namenode 也这样做。这样升级过程就完成了。
-rollingUpgrade [||] See Rolling Upgrade document for the detail.
-upgrade query|finalize 查询当前升级状态。
HDFS的Finalize升级(相当于-finalizeUpgrade)。
-refreshServiceAcl 重新加载服务级别授权策略文件。
-refreshUserToGroupsMappings Refresh user-to-groups mappings.
-refreshSuperUserGroupsConfiguration Refresh superuser proxy groups mappings
-refreshCallQueue Reload the call queue from config.
-refresh  [arg1..argn] 上,触发指定的资源的运行时刷新。之后所有其他参数被发送到主机。
-reconfig  启动“重新配置”或获取正在进行的重新配置的状态,或获取可重新配置属性的列表。第二个参数指定节点类型。
-printTopology 打印Namenode报告的机架及其节点的树
-refreshNamenodes datanodehost:port 对于给定的datanode,重新加载配置文件,停止为已删除的块池提供服务,并开始为新的块池提供服务。
-getVolumeReport datanodehost:port For the given datanode, get the volume report.
-deleteBlockPool datanode-host:port blockpoolId [force] 如果传递了 force,则删除给定 datanode 上给定块池id的块池目录及其内容,否则仅在目录为空时才删除该目录。如果 datanode 仍在为块池服务,则命令将失败。请参考 refreshnamenode 来关闭 datanode 上的块池服务。
-setBalancerBandwidth  更改每个 datanode 在 HDFS 块平衡期间使用的网络带宽。是每个 datanode 每秒使用的最大字节数。此值将覆盖dfs.datanode.balance。bandwidthPerSec参数。注意:新值在DataNode上不是持久的。
-getBalancerBandwidth  获取给定datanode的网络带宽(单位为字节/秒)。这是 datanode 在 HDFS 块平衡期间使用的最大网络带宽。
-fetchImage  从NameNode下载最新的fsimage,并将其保存在指定的本地目录中。
-allowSnapshot  允许创建目录的快照。如果操作成功完成,则该目录将变为 snapshottable。See the HDFS Snapshot Documentation for more information.
-disallowSnapshot  不允许创建目录的快照。在禁止快照之前,必须删除目录的所有快照。See the HDFS Snapshot Documentation for more information.
-shutdownDatanode  [upgrade] 为给定的datanode提交关闭请求。See Rolling Upgrade document for the detail.
-evictWriters  使datanode 驱逐所有正在写块的客户端。如果由于写入速度慢而挂起退役操作,这是有用的。
-getDatanodeInfo  获取关于给定datanode的信息。See Rolling Upgrade document for the detail.
-metasave filename 在hadoop.log指定的目录中将Namenode的主要数据结构保存为filename。dir属性。如果文件名存在,它将被覆盖。文件名将为以下每个文件包含一行
1. Datanodes heart beating with Namenode
2. Blocks waiting to be replicated
3. Blocks currently being replicated
4. Blocks waiting to be deleted
-triggerBlockReport [-incremental]  为给定的 datanode 触发一个块报告。如果“incremental”被指定,否则它将是一个完整的块报告。
-listOpenFiles [-blockingDecommission] [-path ] 列出 NameNode 当前管理的所有打开的文件,以及访问这些文件的客户机名称和客户机机器。打开的文件列表将根据给定的类型和路径进行过滤。添加 -blockingDecommission 选项,如果您只想列出正在阻止DataNode退役的打开的文件。
-help [cmd] Displays help for the given command or all commands if none is specified.

Runs a HDFS dfsadmin client.

dfsrouter

Usage: hdfs dfsrouter

Runs the DFS router. See Router for more info.

dfsrouteradmin

Usage:

  hdfs dfsrouteradmin
      [-add    [-readonly] [-order HASH|LOCAL|RANDOM|HASH_ALL] -owner  -group  -mode ]
      [-update    [-readonly] [-order HASH|LOCAL|RANDOM|HASH_ALL] -owner  -group  -mode ]
      [-rm ]
      [-ls ]
      [-setQuota  -nsQuota  -ssQuota ]
      [-clrQuota ]
      [-safemode enter | leave | get]
      [-nameservice disable | enable ]
      [-getDisabledNameservices]
COMMAND_OPTION Description
-add source nameservices destination 添加挂载表条目,如果存在,则进行更新。
-update source nameservices destination 更新挂载表条目,如果不存在则创建一个挂载表条目。
-rm source Remove mount point of specified path.
-ls path 列出指定路径下的挂载点。
-setQuota path -nsQuota nsQuota -ssQuota ssQuota 设置指定路径的配额。See HDFS Quotas Guide for the quota detail.
-clrQuota path 清除给定挂载点的配额。See HDFS Quotas Guide for the quota detail.
-safemode enter leave get 手动设置路由器进入或离开安全模式。选项get将用于验证路由器是否处于安全模式状态。
-nameservice disable enable nameservice 禁用/启用来自联合的名称服务。如果禁用,请求将不会转到该名称服务。
-getDisabledNameservices 获取联合中禁用的名称服务。

用于管理基于路由器的联合的命令。See Mount table management for more info.

diskbalancer

Usage:

   hdfs diskbalancer
     [-plan  -fs ]
     [-execute ]
     [-query ]
     [-cancel ]
     [-cancel  -node ]
     [-report -node  | [,...]]
     [-report -node -top ]
COMMAND_OPTION Description
-plan Creates a disbalancer plan
-execute Executes a given plan on a datanode
-query Gets the current diskbalancer status from a datanode
-cancel Cancels a running plan
-report Reports the volume information from datanode(s)

Runs the diskbalancer CLI. See HDFS Diskbalancer for more information on this command.

ec

Usage:

   hdfs ec [generic options]
     [-setPolicy -policy  -path ]
     [-getPolicy -path ]
     [-unsetPolicy -path ]
     [-listPolicies]
     [-addPolicies -policyFile ]
     [-listCodecs]
     [-enablePolicy -policy ]
     [-disablePolicy -policy ]
     [-help [cmd ...]]
COMMAND_OPTION Description
-setPolicy Set a specified ErasureCoding policy to a directory
-getPolicy Get ErasureCoding policy information about a specified path
-unsetPolicy Unset an ErasureCoding policy set by a previous call to “setPolicy” on a directory
-listPolicies 列出所有支持的擦除编码策略
-addPolicies Add a list of erasure coding policies
-listCodecs 获取系统中支持的擦除编码编解码器和编码器的列表
-enablePolicy Enable an ErasureCoding policy in system
-disablePolicy Disable an ErasureCoding policy in system

Runs the ErasureCoding CLI. See HDFS ErasureCoding for more information on this command.

haadmin

Usage:

    hdfs haadmin -transitionToActive  [--forceactive]
    hdfs haadmin -transitionToStandby 
    hdfs haadmin -transitionToObserver 
    hdfs haadmin -failover [--forcefence] [--forceactive]  
    hdfs haadmin -getServiceState 
    hdfs haadmin -getAllServiceState
    hdfs haadmin -checkHealth 
    hdfs haadmin -help 
COMMAND_OPTION Description
-checkHealth 检查给定NameNode的运行状况
-failover 在两个 namenode 之间启动故障转移
-getServiceState 确定给定的NameNode是活动的还是备用的
-getAllServiceState returns the state of all the NameNodes  
-transitionToActive transition the state of the given NameNode to Active (Warning: No fencing is done)
-transitionToStandby transition the state of the given NameNode to Standby (Warning: No fencing is done)
-transitionToObserver 将给定NameNode的状态转换为Observer (Warning: No fencing is done)
-help [cmd] Displays help for the given command or all commands if none is specified.

See HDFS HA with NFS or HDFS HA with QJM for more information on this command.

journalnode

Usage: hdfs journalnode

This comamnd starts a journalnode for use with HDFS HA with QJM.

mover

Usage: hdfs mover [-p | -f ]

COMMAND_OPTION Description
-f  Specify a local file containing a list of HDFS files/dirs to migrate.
-p  Specify a space separated list of HDFS files/dirs to migrate.

Runs the data migration utility. See Mover for more details.

注意,当省略-p和-f选项时,默认路径是根目录。

此外,从2.7.0开始引入了一个固定特性,以防止某些副本被均衡器/移动器移动。默认情况下该固定功能是禁用的,可以通过配置属性" dfs.datanode.block-pinning.enabled "启用。当启用时,该特性只影响写入create()调用中指定的优先节点的块。当我们希望为HBase regionserver等应用程序维护数据局部性时,该特性非常有用。

namenode

Usage:

  hdfs namenode [-backup] |
          [-checkpoint] |
          [-format [-clusterid cid ] [-force] [-nonInteractive] ] |
          [-upgrade [-clusterid cid] [-renameReserved] ] |
          [-upgradeOnly [-clusterid cid] [-renameReserved] ] |
          [-rollback] |
          [-rollingUpgrade  ] |
          [-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,格式化它,然后关闭它。将抛出NameNodeFormatException,如果名称目录已经存在,并且在集群中禁用了重新格式化。
-upgrade [-clusterid cid] [-renameReserved ] 在新的Hadoop版本发布后,Namenode应该以upgrade选项启动。
-upgradeOnly [-clusterid cid] [-renameReserved ] 升级指定的NameNode,然后关闭它。
-rollback 将NameNode回滚到以前的版本。在停止集群并分发旧的Hadoop版本之后,应该使用这个方法。
-rollingUpgrade  See Rolling Upgrade document for the detail.
-importCheckpoint 从检查点目录加载映像并将其保存到当前目录中。检查点目录从属性dfs.namenode.checkpoint.dir中读取
-initializeSharedEdits 格式化一个新的共享编辑目录并复制足够的编辑日志段,以便备用的NameNode可以启动。
-bootstrapStandby [-force] [-nonInteractive] [-skipSharedEditsCheck] 允许通过从活动的 NameNode 复制最新的名称空间快照来引导备用的 NameNode 存储目录。在第一次配置HA集群时使用。选项-force或-nonInteractive的含义与namenode -format命令中描述的含义相同。-skipSharedEditsCheck 选项跳过编辑检查,确保我们在共享目录中已经有足够的编辑,可以从活动目录上的最后一个检查点启动。
-recover [-force] 恢复损坏文件系统上丢失的元数据。See HDFS User Guide for the detail.
-metadataVersion 验证配置的目录是否存在,然后打印软件和映像的元数据版本。

Runs the namenode. More info about the upgrade and rollback is at Upgrade Rollback.

nfs3

Usage: hdfs nfs3

这个comamnd启动NFS3网关,以便与HDFS NFS3服务一起使用。

portmap

Usage: hdfs portmap

这个comamnd启动RPC端口映射,以便与HDFS NFS3服务一起使用。

secondarynamenode

Usage: hdfs secondarynamenode [-checkpoint [force]] | [-format] | [-geteditsize]

COMMAND_OPTION Description
-checkpoint [force] Checkpoints the SecondaryNameNode if EditLog size >= fs.checkpoint.size. If force is used, checkpoint irrespective of EditLog size.
-format 在启动期间格式化本地存储。
-geteditsize 打印 NameNode 上未检查点事务的数量。

运行 HDFS secondary namenode

storagepolicies

Usage:

  hdfs storagepolicies
      [-listPolicies]
      [-setStoragePolicy -path  -policy ]
      [-getStoragePolicy -path ]
      [-unsetStoragePolicy -path ]
      [-satisfyStoragePolicy -path ]
      [-isSatisfierRunning]
      [-help ]

列出所有/获取/设置/取消设置存储策略。

zkfc

Usage: hdfs zkfc [-formatZK [-force] [-nonInteractive]]

COMMAND_OPTION Description
-formatZK 格式化 Zookeeper 实例。-force:格式化 znode 如果 znode 存在。-nonInteractive:格式 znode 中止如果 znode 存在,除非 -force 选项被指定。
-h Display help

这个 comamnd 启动一个 Zookeeper 故障转移控制器进程,用于与 HDFS HA 和 QJM 一起使用。

调试命令

帮助管理员调试 HDFS 问题的有用命令。这些命令仅供高级用户使用。

verifyMeta

Usage: hdfs debug verifyMeta -meta [-block ]

COMMAND_OPTION Description
-block block-file 可选参数,用于指定数据节点的本地文件系统上的块文件的绝对路径。
-meta metadata-file 数据节点的本地文件系统上的元数据文件的绝对路径。

验证 HDFS 元数据和块文件。如果指定了块文件,我们将验证元数据文件中的校验和是否与块文件匹配。

computeMeta

Usage: hdfs debug computeMeta -block -out

COMMAND_OPTION Description
-block block-file 数据节点的本地文件系统上的块文件的绝对路径。
-out output-metadata-file 用于存储块文件的校验和计算结果的输出元数据文件的绝对路径

从块文件计算 HDFS 元数据。如果指定了块文件,我们将从块文件中计算校验和,并将其保存到指定的输出元数据文件中。

注意:使用风险自负!如果块文件损坏,你改写了它的元文件,它将在HDFS中显示为‘好’,但你无法读取数据。只有当你100%确定块文件是好的时候才使用。

recoverLease

Usage: hdfs debug recoverLease -path [-retries ]

COMMAND_OPTION Description
[-path path] 恢复租约的HDFS路径
[-retries num-retries] 客户端重试调用recoverLease的次数。默认的重试次数为1。

恢复指定路径上的租约。路径必须驻留在HDFS文件系统上。默认的重试次数为1。

你可能感兴趣的:(HDFS,HDFS,Shell)