所有HDFS命令均由bin / hdfs脚本调用。运行不带任何参数的hdfs脚本会打印所有命令的描述。
用法:hdfs [SHELL_OPTIONS] COMMAND [GENERIC_OPTIONS] [COMMAND_OPTIONS]
Hadoop有一个选项解析框架,该框架使用解析通用选项以及运行类。
| COMMAND_OPTIONS | 描述 |
|---|---|
| SHELL_OPTIONS | 通用的外壳选项集。这些内容记录在“ 命令手册”页面上。 |
| GENERIC_OPTIONS | 多个命令支持的一组通用选项。有关更多信息,请参见《 Hadoop 命令手册》。 |
| COMMAND COMMAND_OPTIONS | 以下各节介绍了各种命令及其选项。这些命令已分组为“ 用户命令”和“ 管理命令”。 |
对hadoop集群的用户有用的命令。
用法:hdfs类路径[--glob | --jar <路径> | -h |-帮助]
| COMMAND_OPTION | 描述 |
|---|---|
| --glob | 扩展通配符 |
| --jar 路径 | 写类路径体现在罐子命名的路径 |
| -h,--help | 打印帮助 |
打印获取Hadoop jar和所需库所需的类路径。如果不带参数调用,则打印由命令脚本设置的类路径,该类路径可能在类路径条目中包含通配符。其他选项可在通配符扩展后打印类路径,或将类路径写入jar文件的清单中。后者在无法使用通配符且扩展的类路径超过支持的最大命令行长度的环境中很有用。
用法:hdfs dfs [COMMAND [COMMAND_OPTIONS]]
在Hadoop支持的文件系统上运行文件系统命令。各种COMMAND_OPTIONS可以在《文件系统外壳指南》中找到。
用法:hdfs fetchdt <opts> <token_file_path>
| COMMAND_OPTION | 描述 |
|---|---|
| --webservice NN_Url | 用于联系NN的网址(以http或https开头) |
| -续订 名称 | 授权令牌续订者的名称 |
| - 取消 | 取消委托令牌 |
| - 更新 | 续订委托令牌。必须使用–renewer name选项获取委托令牌。 |
| - 打印 | 打印委托令牌 |
| token_file_path | 存储令牌的文件路径。 |
从NameNode获取委托令牌。有关更多信息,请参见fetchdt。
用法:
hdfs fsck <路径>
[-list-corruptfileblocks |
[-移动| 删除| -openforwrite]
[-文件[-块[-位置| 架| -replicaDetails | -upgradedomains]]]
[-includeSnapshots] [-showprogress]
[-存储策略] [-维护]
[-blockId <blk_Id>]
| COMMAND_OPTION | 描述 |
|---|---|
| 路径 | 从此路径开始检查。 |
| -删除 | 删除损坏的文件。 |
| 文件 | 打印出正在检查的文件。 |
| -files -blocks | 打印阻止报告 |
| -files -blocks -locations | 打印每个块的位置。 |
| -files -blocks -racks | 打印出数据节点位置的网络拓扑。 |
| -files -blocks -replicaDetails | 打印出每个副本的详细信息。 |
| -files -blocks -upgradedomains | 打印每个块的升级域。 |
| -includeSnapshots | 如果给定路径指示快照表目录或其下有快照表目录,则包括快照数据。 |
| -list-corruptfileblocks | 打印出丢失的块和它们所属的文件的列表。 |
| -移动 | 将损坏的文件移至/ lost + found。 |
| -openforwrite | 打印出已打开以供写入的文件。 |
| -showprogress | 打印点以输出进度。默认为关闭(无进度)。 |
| -存储策略 | 打印出块的存储策略摘要。 |
| -保养 | 打印出维护状态节点详细信息。 |
| -blockId | 打印出有关该块的信息。 |
运行HDFS文件系统检查实用程序。有关更多信息,请参见fsck。
用法:
hdfs getconf -namenodes hdfs getconf -secondaryNameNodes hdfs getconf -backupNodes hdfs getconf -journalNodes hdfs getconf -includeFile hdfs getconf -excludeFile hdfs getconf -nnRpcAddresses hdfs getconf -confKey [密钥]
| COMMAND_OPTION | 描述 |
|---|---|
| -namenodes | 获取集群中的名称节点列表。 |
| -secondaryNameNodes | 获取集群中辅助名称节点的列表。 |
| -backupNodes | 获取集群中备份节点的列表。 |
| -journalNodes | 获取集群中日记节点的列表。 |
| -includeFile | 获取包含文件路径,该文件路径定义了可以加入集群的数据节点。 |
| -excludeFile | 获取排除文件路径,该文件路径定义了需要停用的数据节点。 |
| -nnRpcAddresses | 获取namenode rpc地址 |
| -confKey [密钥] | 从配置中获取特定的密钥 |
从配置目录获取配置信息,进行后处理。
用法:hdfs lsSnapshottableDir [-帮助]
| COMMAND_OPTION | 描述 |
|---|---|
| -帮帮我 | 打印帮助 |
获取快照表目录列表。以超级用户身份运行时,它将返回所有快照表目录。否则,它将返回当前用户拥有的那些目录。
用法:hdfs jmxget [-localVM ConnectorURL | 端口| 服务器mbeanserver | 服务]
| COMMAND_OPTION | 描述 |
|---|---|
| -帮帮我 | 打印帮助 |
| -localVM ConnectorURL | 连接到同一台计算机上的VM |
| -port MBean服务器端口 | 指定mbean服务器端口,如果缺少该端口,它将尝试连接到同一VM中的MBean服务器 |
| -服务器 | 指定mbean服务器(默认情况下为localhost) |
| 服务 NameNode | DataNode | 指定jmx服务。默认情况下,NameNode。 |
从服务中转储JMX信息。
用法:hdfs oev [选项] -i INPUT_FILE -o OUTPUT_FILE
| COMMAND_OPTION | 描述 |
|---|---|
| -i,-- inputFile arg | 编辑文件进行处理,xml(不区分大小写)扩展名表示XML格式,任何其他文件名表示二进制格式 |
| -o,-- outputFile arg | 输出文件名。如果指定的文件存在,它将被覆盖,文件格式由-p选项确定 |
| COMMAND_OPTION | 描述 |
|---|---|
| -f,-- fix-txids | 在输入中重新编号事务ID,以便没有空格或无效的事务ID。 |
| -h,--help | 显示使用情况信息并退出 |
| -r,- 恢复 | 读取二进制编辑日志时,请使用恢复模式。这将使您有机会跳过编辑日志的损坏部分。 |
| -p,-- processor arg | 选择要对图像文件应用的处理器类型,当前支持的处理器为:二进制(Hadoop使用的本地二进制格式),xml(默认,XML格式),统计信息(有关编辑文件的打印统计信息) |
| -v,-- verbose | 更详细的输出,输出写入文件的处理器的输入和输出文件名,也输出到屏幕。在大型图像文件上,这将大大增加处理时间(默认为false)。 |
Hadoop离线编辑查看器。有关更多信息,请参见《离线编辑查看器指南》。
用法:hdfs oiv [OPTIONS] -i INPUT_FILE
| COMMAND_OPTION | 描述 |
|---|---|
| -o,-- outputFile 输出文件 | 如果指定的输出处理器生成一个文件名,则指定输出文件名。如果指定的文件已经存在,它将被静默覆盖。(默认情况下输出到stdout)如果输入文件是XML文件,它还将创建一个<outputFile> .md5。 |
| -p,- 处理器处理器 | 指定要应用于图像文件的图像处理器。当前有效的选项是Web(默认),XML,Delimited,FileDistribution和ReverseXML。 |
| -addr 地址 | 指定要监听的地址(主机:端口)。(预设为localhost:5978)。该选项与Web处理器一起使用。 |
| -maxSize 大小 | 指定要分析的文件大小的范围[0,maxSize](以字节为单位)(默认为128GB)。此选项与FileDistribution处理器一起使用。 |
| 步 长 | 指定分布的粒度(以字节为单位)(默认为2MB)。此选项与FileDistribution处理器一起使用。 |
| -格式 | 以易于阅读的方式而不是多个字节来格式化输出结果。(默认情况下为false)。此选项与FileDistribution处理器一起使用。 |
| -定界符 arg | 与定界处理器一起使用的定界字符串。 |
| -t,-- temp 临时目录 | 使用临时目录缓存中间结果以生成定界输出。如果未设置,则定界处理器在输出文本之前在内存中构造名称空间。 |
| -h,--help | 显示工具用法和帮助信息,然后退出。 |
Hadoop离线图像查看器,用于Hadoop 2.4或更高版本中的图像文件。有关更多信息,请参见《脱机图像查看器指南》。
用法:hdfs oiv_legacy [OPTIONS] -i INPUT_FILE -o OUTPUT_FILE
| COMMAND_OPTION | 描述 |
|---|---|
| -i,-- inputFile 输入文件 | 指定要处理的输入fsimage文件。 |
| -o,-- outputFile 输出文件 | 如果指定的输出处理器生成一个文件名,则指定输出文件名。如果指定的文件已经存在,它将被静默覆盖。 |
| COMMAND_OPTION | 描述 |
|---|---|
| -p | - 处理器处理器 | 指定要应用于图像文件的图像处理器。有效选项包括Ls(默认值),XML,Delimited,Indented,FileDistribution和NameDistribution。 |
| -maxSize 大小 | 指定要分析的文件大小的范围[0,maxSize](以字节为单位)(默认为128GB)。此选项与FileDistribution处理器一起使用。 |
| 步 长 | 指定分布的粒度(以字节为单位)(默认为2MB)。此选项与FileDistribution处理器一起使用。 |
| -格式 | 以易于阅读的方式而不是多个字节来格式化输出结果。(默认情况下为false)。此选项与FileDistribution处理器一起使用。 |
| -跳过块 | 不要枚举文件中的单个块。这样可以节省处理时间并在文件很大的名称空间上节省文件空间。Ls处理器读取这些块以正确确定文件大小,并忽略此选项。 |
| -printToScreen | 将处理器的输出通过管道传输到控制台以及指定的文件。在极大的名称空间上,这可能会使处理时间增加一个数量级。 |
| -定界符 arg | 与Delimited处理器结合使用时,将默认制表符分隔符替换为arg指定的字符串。 |
| -h | - 帮帮我 | 显示工具用法和帮助信息,然后退出。 |
适用于旧版本Hadoop的Hadoop离线图像查看器。有关更多信息,请参见oiv_legacy命令。
对hadoop集群的管理员有用的命令。
用法:
hdfs平衡器
[-policy <policy>]
[-阈值<阈值>]
[-排除[-f <主机文件> | <主机的逗号分隔列表>]]
[-include [-f <主机文件> | <主机的逗号分隔列表>]]
[-source [-f <hosts-file> | <主机的逗号分隔列表>]]
[-blockpools <以逗号分隔的Blockpool ID列表>]
[-idleiterations <idleiterations>]
[-runDuringUpgrade]
| COMMAND_OPTION | 描述 |
|---|---|
| -policy <策略> | datanode(默认):如果每个数据节点均已平衡,则群集已平衡。 blockpool:如果每个数据节点中的每个块池均已平衡,则群集已达到平衡。 |
| -threshold <阈值> | 磁盘容量百分比。这将覆盖默认阈值。 |
| -exclude -f <主机文件> | <以逗号分隔的主机列表> | 从平衡器中排除指定的数据节点的平衡。 |
| -include -f <主机文件> | <以逗号分隔的主机列表> | 仅包括要由平衡器平衡的指定数据节点。 |
| -source -f <主机文件> | <以逗号分隔的主机列表> | 仅选择指定的datanode作为源节点。 |
| -blockpools <以逗号分隔的块池ID列表> | 平衡器将仅在此列表中包含的块池上运行。 |
| -idleiterations <迭代> | 退出之前的最大空闲迭代次数。这将覆盖默认的idleiterations(5)。 |
| -runDuringUpgrade | 在正在进行的HDFS升级期间是否运行平衡器。通常不希望这样做,因为它不会影响过度使用的计算机上的已用空间。 |
| -h | - 帮帮我 | 显示工具用法和帮助信息,然后退出。 |
运行群集平衡实用程序。管理员只需按Ctrl-C即可停止重新平衡过程。有关更多详细信息,请参见Balancer。
需要注意的是blockpool政策是不是更严格的数据节点的政策。
除上述命令选项外,从2.7.0开始引入了固定功能,以防止某些副本被平衡器/移动器移动。此固定功能默认情况下处于禁用状态,可以通过配置属性“ dfs.datanode.block-pinning.enabled”启用。启用后,此功能仅影响写入create()调用中指定的首选节点的块。当我们想要维护数据局部性时,对于HBase区域服务器等应用程序,此功能很有用。
用法:
hdfs cacheadmin [-addDirective -path <路径> -pool <池名称> [-force] [-复制<复制>] [-ttl <生存时间>]] hdfs cacheadmin [-modifyDirective -id <id> [-path <路径>] [-force] [-复制<复制>] [-池<池名称>] [-ttl <生存时间>]] hdfs cacheadmin [-listDirectives [-stats] [-path <路径>] [-pool <pool>] [-id <id>]] hdfs cacheadmin [-removeDirective <id>] hdfs cacheadmin [-removeDirectives -path <路径>] hdfs cacheadmin [-addPool <名称> [-所有者<所有者>] [-组<组>] [-模式<模式>] [-限制<限制>] [-maxTtl <maxTtl>]] hdfs cacheadmin [-modifyPool <名称> [-所有者<所有者>] [-组<组>] [-模式<模式>] [-限制<限制>] [-maxTtl <maxTtl>]] hdfs cacheadmin [-removePool <名称>] hdfs cacheadmin [-listPools [-stats] [<名称>]] hdfs cacheadmin [-帮助<命令名称>]
有关更多信息,请参见HDFS缓存管理文档。
用法:
hdfs crypto -createZone -keyName <keyName> -path <路径> hdfs crypto -listZones hdfs crypto -provisionTrash -path <路径> hdfs crypto -help <命令名称>
有关更多信息,请参见HDFS透明加密文档。
用法:hdfs datanode [-常规| -回滚| -rollingupgrade回滚]
| COMMAND_OPTION | 描述 |
|---|---|
| -定期 | 正常的datanode启动(默认)。 |
| -回滚 | 将datanode回滚到以前的版本。在停止datanode并分发旧的hadoop版本之后,应使用此方法。 |
| -rolling升级回滚 | 回滚滚动升级操作。 |
运行HDFS数据节点。
用法:
hdfs dfsadmin [-报告[-live] [-dead] [-退役] [-enteringmaintenance] [-inmaintenance]]
hdfs dfsadmin [-safemode输入| 离开 得到 等待 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 <目录名> ... <目录名>]
hdfs dfsadmin [-setSpaceQuota <quota> [-storageType <storagetype>] <dirname> ... <dirname>]
hdfs dfsadmin [-clrSpaceQuota [-storageType <存储类型>] <目录名...... <目录名>]
hdfs dfsadmin [-finalizeUpgrade]
hdfs dfsadmin [-rollingUpgrade [<查询> | <准备> | <最终确定>]]
hdfs dfsadmin [-upgrade [查询| 完成]
hdfs dfsadmin [-refreshServiceAcl]
hdfs dfsadmin [-refreshUserToGroupsMappings]
hdfs dfsadmin [-refreshSuperUserGroupsConfiguration]
hdfs dfsadmin [-refreshCallQueue]
hdfs dfsadmin [-刷新<host:ipc_port> <key> [arg1..argn]]
hdfs dfsadmin [-reconfig <名称节点|数据节点> <主机:ipc_port> <开始|状态|属性>]
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 <datanode_host:ipc_port>]
hdfs dfsadmin [-fetchImage <本地目录>]
hdfs dfsadmin [-allowSnapshot <snapshotDir>]
hdfs dfsadmin [-disallowSnapshot <snapshotDir>]
hdfs dfsadmin [-shutdownDatanode <datanode_host:ipc_port> [升级]]
hdfs dfsadmin [-evictWriters <datanode_host:ipc_port>]
hdfs dfsadmin [-getDatanodeInfo <datanode_host:ipc_port>]
hdfs dfsadmin [-metasave文件名]
hdfs dfsadmin [-triggerBlockReport [-增量] <datanode_host:ipc_port>]
hdfs dfsadmin [-listOpenFiles [-blockingDecommission] [-path <路径>]]
hdfs dfsadmin [-帮助[cmd]]
| COMMAND_OPTION | 描述 |
|---|---|
| -report [-live] [-dead] [-decominging] [-entingmaintenance] [-inmaintenance] | 报告基本文件系统信息和统计信息。dfs的使用情况可能与“ du”的使用情况有所不同,因为它测量所有DN上复制,校验和,快照等使用的原始空间。可选标志可用于过滤显示的DataNode列表。 |
| -safemode输入|离开|获取|等待|强制退出 | 安全模式维护命令。安全模式是Namenode状态,其中 1.不接受对名称空间的更改(只读) 2.不复制或删除块。 安全模式在Namenode启动时自动进入,并在配置的最小块百分比满足最小复制条件时自动退出安全模式。如果Namenode检测到任何异常,则它将在安全模式下徘徊,直到该问题得到解决。如果该异常是有意采取的措施的结果,则管理员可以使用-safemode forceExit退出安全模式。可能需要forceExit的情况是 1. Namenode元数据不一致。如果Namenode检测到元数据已被带外修改并可能导致数据丢失,则Namenode将进入forceExit状态。届时,用户可以使用正确的元数据文件重新启动Namenode或使用forceExit(如果可以接受数据丢失)。 2.回滚导致替换元数据,很少会触发Namenode中的安全模式forceExit状态。在这种情况下,您可以通过发出-safemode forceExit继续。 也可以手动进入安全模式,但随后也只能手动将其关闭。 |
| -saveNamespace [-beforeShutdown] | 将当前名称空间保存到存储目录中,然后重置编辑日志。需要安全模式。如果给定了“ beforeShutdown”选项,则只有当在时间窗口(可配置数量的检查点时间)内未完成检查点时,NameNode才会执行检查点。通常在关闭NameNode之前使用它,以防止潜在的fsimage / editlog损坏。 |
| -roll编辑 | 在活动NameNode上滚动编辑日志。 |
| -restoreFailedStorage true | false |检查 | 此选项将打开/关闭自动尝试还原失败的存储副本。如果故障存储再次可用,则系统将尝试在检查点期间恢复编辑和/或fsimage。'check'选项将返回当前设置。 |
| -refreshNodes | 重新读取主机并排除文件,以更新允许连接到Namenode以及应停用或重新启用的Datanode集合。 |
| -setQuota <quota> <目录名> ... <目录名> | 有关详细信息,请参见《HDFS配额指南》。 |
| -clrQuota <目录名> ... <目录名> | 有关详细信息,请参见《HDFS配额指南》。 |
| -setSpaceQuota <quota> [-storageType <storagetype>] <dirname>…<dirname> | 有关详细信息,请参见《HDFS配额指南》。 |
| -clrSpaceQuota [ -storageType <存储类型>] <目录名>…<目录名> | 有关详细信息,请参见《HDFS配额指南》。 |
| -finalizeUpgrade | 完成HDFS升级。数据节点删除其先前版本的工作目录,然后名称节点执行相同的操作。这样就完成了升级过程。 |
| -rollingUpgrade [<查询> | <准备> | <最终确定>] | 有关详细信息,请参见滚动升级文档。 |
| -升级查询|完成 | 查询当前升级状态。 完成HDFS的升级(等同于-finalizeUpgrade)。 |
| -refreshServiceAcl | 重新加载服务级别授权策略文件。 |
| -refreshUserToGroupsMappings | 刷新用户到组的映射。 |
| -refreshSuperUserGroupsConfiguration | 刷新超级用户代理组映射 |
| -refreshCallQueue | 从配置中重新加载呼叫队列。 |
| -刷新 <host:ipc_port> <key> [arg1..argn] | 触发<host:ipc_port>上<key>指定的资源的运行时刷新。之后的所有其他args发送到主机。 |
| -reconfig <数据节点 |名称节点> <主机:ipc_port> <开始|状态|属性> | 开始重新配置或获取正在进行的重新配置的状态,或获取可重新配置属性的列表。第二个参数指定节点类型。 |
| -printTopology | 打印由名称节点报告的机架及其节点的树 |
| -refreshNamenodes datanodehost:端口 | 对于给定的datanode,重新加载配置文件,停止为已删除的块池提供服务,并开始为新的块池提供服务。 |
| -getVolumeReport datanodehost:port | 对于给定的datanode,获取体积报告。 |
| -deleteBlockPool datanode-host:port blockpoolId [force] | 如果强制通过,则将删除给定数据节点上给定块池ID的块池目录及其内容,否则,仅当目录为空时才删除该目录。如果datanode仍在为块池提供服务,则该命令将失败。请参考refreshNamenodes以关闭数据节点上的块池服务。 |
| -setBalancerBandwidth <带宽,以每秒字节数为单位> | 更改HDFS块平衡期间每个数据节点使用的网络带宽。<bandwidth>是每个数据节点每秒将使用的最大字节数。此值将覆盖dfs.datanode.balance.bandwidthPerSec参数。注意:新值在DataNode上不是持久性的。 |
| -getBalancerBandwidth <datanode_host:ipc_port> | 获取给定数据节点的网络带宽(以每秒字节数为单位)。这是HDFS块平衡期间数据节点使用的最大网络带宽。 |
| -fetchImage <本地目录> | 从NameNode下载最新的fsimage并将其保存在指定的本地目录中。 |
| -allowSnapshot <snapshotDir> | 允许创建目录快照。如果操作成功完成,该目录将成为快照表。有关更多信息,请参见HDFS快照文档。 |
| -disallowSnapshot <snapshotDir> | 不允许创建目录的快照。必须先删除目录的所有快照,然后再禁止快照。有关更多信息,请参见HDFS快照文档。 |
| -shutdownDatanode <datanode_host:ipc_port> [升级] | 提交给定datanode的关闭请求。有关详细信息,请参见滚动升级文档。 |
| -evictWriters <数据节点主机:ipc_port> | 使datanode逐出所有正在编写块的客户端。如果由于写入速度慢而停止运行,这很有用。 |
| -getDatanodeInfo <数据节点主机:ipc_port> | 获取有关给定datanode的信息。有关详细信息,请参见滚动升级文档。 |
| -metasave文件名 | 将Namenode的主要数据结构保存到hadoop.log.dir属性指定的目录中的文件名中。文件名将被覆盖(如果存在)。文件名将包含以下内容的每一行: 1. Datanodes受到Namenode的心脏跳动 2.等待复制的 块3.当前正在复制的 块4.等待删除的块 |
| -triggerBlockReport [-递增] <datanode_host:ipc_port> | 触发给定datanode的块报告。如果指定了“ incremental”,则为“ incremental”,它将是完整的报告。 |
| -listOpenFiles [ -blockingDecommission ] [-path <路径>] | 列出当前由NameNode管理的所有打开文件,以及客户端名称和访问它们的客户端计算机。打开文件列表将按给定的类型和路径进行过滤。如果只想列出阻止DataNode停用的打开文件,则添加-blockingDecommission选项。 |
| -帮助 [cmd] | 显示给定命令或所有命令(如果未指定)的帮助。 |
运行HDFS dfsadmin客户端。
用法:
hdfs dfsrouteradmin
[-添加<源> <名称服务1,名称服务2,...> <目标> [-只读] [-顺序HASH | LOCAL | RANDOM | HASH_ALL]-所有者<所有者>-组<组>-模式<模式>]
[-更新<源> <名称服务1,名称服务2,...> <目标> [-只读] [-顺序HASH | LOCAL | RANDOM | HASH_ALL]-所有者<所有者>-组<组>-模式<模式>]
[-rm <源>]
[-ls <路径>]
[-setQuota <路径> -nsQuota <nsQuota> -ssQuota <以字节为单位的配额或配额大小字符串>]
[-clrQuota <路径>]
[-safemode输入| 离开 得到]
[-nameservice禁用| 启用<nameservice>]
[-getDisabledNameservices]
| COMMAND_OPTION | 描述 |
|---|---|
| -添加 源 名称服务 目标 | 添加安装表条目或更新它(如果存在)。 |
| -更新 源 名称服务 目标 | 更新安装表项,如果不存在则创建一个。 |
| -rm 源 | 删除指定路径的安装点。 |
| -ls 路径 | 在指定路径下列出安装点。 |
| -setQuota 路径 -nsQuota nsQuota -ssQuota ssQuota | 设置指定路径的配额。有关配额的详细信息,请参见《HDFS配额指南》。 |
| -clr配额 路径 | 清除给定安装点的配额。有关配额的详细信息,请参见《HDFS配额指南》。 |
| -safemode 输入 离开 获取 | 手动设置路由器进入或退出安全模式。选项get将用于验证路由器是否处于安全模式状态。 |
| -nameservice 禁用 启用 名称服务 | 从联盟禁用/启用名称服务。如果禁用,则请求将不会转到该名称服务。 |
| -getDisabledNameservices | 获取在联盟中禁用的名称服务。 |
用于管理基于路由器的联盟的命令。有关更多信息,请参见装载表管理。
用法:
hdfs磁盘平衡器
[-计划<datanode> -fs <namenodeURI>]
[-执行<planfile>]
[-查询<datanode>]
[-取消<计划文件>]
[-取消<planID> -node <datanode>]
[-report -node <文件://> | [<DataNodeID | IP |主机名>,...]
[-report -node -top <topnum>]
| COMMAND_OPTION | 描述 |
|---|---|
| -计划 | 创建一个失衡计划 |
| -执行 | 在数据节点上执行给定计划 |
| 查询 | 从数据节点获取当前的磁盘平衡器状态 |
| -取消 | 取消运行计划 |
| -报告 | 报告来自datanode的卷信息 |
运行diskbalancer CLI。有关此命令的更多信息,请参见HDFS Diskbalancer。
用法:
hdfs ec [通用选项]
[-setPolicy -policy <policyName> -path <path>]
[-getPolicy -path <路径>]
[-unsetPolicy -path <路径>]
[-listPolicies]
[-addPolicies -policyFile <文件>]
[-listCodecs]
[-enablePolicy -policy <policyName>]
[-disablePolicy -policy <policyName>]
[-帮助[cmd ...]]
| COMMAND_OPTION | 描述 |
|---|---|
| -setPolicy | 将指定的ErasureCoding策略设置为目录 |
| -getPolicy | 获取有关指定路径的ErasureCoding策略信息 |
| -unsetPolicy | 取消设置先前由目录上的“ setPolicy”调用所设置的ErasureCoding策略 |
| -list政策 | 列出所有受支持的ErasureCoding策略 |
| -addPolicies | 添加擦除编码策略列表 |
| -listCodecs | 获取系统中支持的擦除编码编解码器和编码器的列表 |
| -enablePolicy | 在系统中启用ErasureCoding策略 |
| -disablePolicy | 在系统中禁用ErasureCoding策略 |
运行ErasureCoding CLI。有关此命令的更多信息,请参见HDFS ErasureCoding。
用法:
hdfs haadmin -transitionToActive <serviceId> [--forceactive]
hdfs haadmin -transitionToStandby <serviceId>
hdfs haadmin -transitionToObserver <服务ID>
hdfs haadmin -failover [--forcefence] [--forceactive] <服务ID> <服务ID>
hdfs haadmin -getServiceState <serviceId>
hdfs haadmin -getAllServiceState
hdfs haadmin -checkHealth <serviceId>
hdfs haadmin -help <命令>
| COMMAND_OPTION | 描述 | |
|---|---|---|
| -checkHealth | 检查给定NameNode的运行状况 | |
| 故障转移 | 在两个NameNode之间启动故障转移 | |
| -getServiceState | 确定给定的NameNode是Active还是Standby | |
| -getAllServiceState | 返回所有NameNode的状态 | |
| -transitionToActive | 将给定NameNode的状态转换为Active(警告:未完成防护) | |
| -transitionToStandby | 将给定NameNode的状态转换为Standby(警告:未完成防护) | |
| -transitionToObserver | 将给定NameNode的状态转换为Observer(警告:未完成防护) | |
| -帮助 [cmd] | 显示给定命令或所有命令(如果未指定)的帮助。 |
有关此命令的更多信息,请参阅具有NFS的HDFS HA或具有QJM的HDFS HA。
用法:hdfs移动器[-p <文件/目录> | -f <本地文件名>]
| COMMAND_OPTION | 描述 |
|---|---|
| -f <本地文件> | 指定一个本地文件,其中包含要迁移的HDFS文件/目录的列表。 |
| -p <文件/目录> | 指定以空格分隔的要迁移的HDFS文件/目录列表。 |
运行数据迁移实用程序。有关更多详细信息,请参见移动器。
请注意,当同时省略-p和-f选项时,默认路径为根目录。
此外,从2.7.0开始引入了固定功能,以防止某些副本被平衡器/移动器移动。此固定功能默认情况下处于禁用状态,可以通过配置属性“ dfs.datanode.block-pinning.enabled”启用。启用后,此功能仅影响写入create()调用中指定的首选节点的块。当我们想要维护数据局部性时,对于HBase区域服务器等应用程序,此功能很有用。
用法:
hdfs namenode [-backup] |
[-检查点] |
[-格式[-clusterid cid] [-force] [-nonInteractive]] |
[-升级[-clusterid cid] [-renameReserved <kv对>]] |
[-upgradeOnly [-clusterid cid] [-renameReserved <kv对>]] |
[-回滚] |
[-rollingUpgrade <回滚|开始>] |
[-importCheckpoint] |
[-initializeSharedEdits] |
[-bootstrapStandby [-force] [-nonInteractive] [-skipSharedEditsCheck]] |
[-恢复[-force]] |
[-metadataVersion]
| COMMAND_OPTION | 描述 |
|---|---|
| -备份 | 启动备份节点。 |
| -检查点 | 启动检查点节点。 |
| -format [-clusterid cid] | 格式化指定的NameNode。它启动NameNode,对其进行格式化,然后将其关闭。如果名称dir已经存在并且为集群禁用了格式化,则将抛出NameNodeFormatException。 |
| -upgrade [-clusterid cid] [ -renameReserved <kv对>] | 分发新的Hadoop版本后,应使用升级选项启动Namenode。 |
| -upgradeOnly [-clusterid cid] [ -renameReserved <kv对>] | 升级指定的NameNode,然后将其关闭。 |
| -回滚 | 将NameNode回滚到以前的版本。在停止集群并分发旧的Hadoop版本之后,应使用此方法。 |
| -rollingUpgrade <回滚|开始> | 有关详细信息,请参见滚动升级文档。 |
| -importCheckpoint | 从检查点目录加载图像并将其保存到当前目录中。从属性dfs.namenode.checkpoint.dir中读取检查点目录 |
| -initializeSharedEdits | 格式化新的共享编辑目录并复制足够的编辑日志段,以便备用NameNode可以启动。 |
| -bootstrapStandby [-force] [-nonInteractive] [-skipSharedEditsCheck] | 允许通过从活动NameNode复制最新的名称空间快照来引导备用NameNode的存储目录。首次配置HA群集时使用。选项-force或-nonInteractive具有与namenode -format命令中描述的含义相同的含义。-skipSharedEditsCheck选项跳过编辑检查,以确保共享目录中已有足够的编辑以从活动目录中的最后一个检查点启动。 |
| -恢复 [-force] | 在损坏的文件系统上恢复丢失的元数据。有关详细信息,请参见《HDFS用户指南》。 |
| -metadataVersion | 验证是否存在已配置的目录,然后打印软件和图像的元数据版本。 |
运行namenode。有关升级和回滚的更多信息,请参见升级回滚。
用法:hdfs secondarynamenode [-checkpoint [force]] | [-格式] | [-geteditsize]
| COMMAND_OPTION | 描述 |
|---|---|
| -checkpoint [力] | 如果EditLog size> = fs.checkpoint.size,则对SecondaryNameNode进行检查。如果使用强制,则检查点与EditLog大小无关。 |
| -格式 | 启动期间格式化本地存储。 |
| -geteditsize | 打印NameNode上未检查的事务数。 |
运行HDFS辅助名称节点。有关更多信息,请参见Secondary Namenode。
用法:
hdfs存储策略
[-listPolicies]
[-setStoragePolicy -path <路径> -policy <策略>]
[-getStoragePolicy -path <路径>]
[-unsetStoragePolicy -path <路径>]
[-satisfyStoragePolicy -path <路径>]
[-isSatisfierRunning]
[-help <命令名称>]
列出所有/获取/设置/取消存储策略。有关更多信息,请参见HDFS存储策略文档。
用法:hdfs zkfc [-formatZK [-force] [-nonInteractive]]
| COMMAND_OPTION | 描述 |
|---|---|
| -formatZK | 格式化Zookeeper实例。-force:如果znode存在,则格式化znode。-nonInteractive:如果znode存在,则格式化znode会中止,除非指定了-force选项。 |
| -H | 显示帮助 |
该命令将启动Zookeeper故障转移控制器进程,以与带有QJM的HDFS HA一起使用。
帮助管理员调试HDFS问题的有用命令。这些命令仅适用于高级用户。
用法:hdfs debug verifyMeta -meta <元数据文件> [-block <块文件>]
| COMMAND_OPTION | 描述 |
|---|---|
| -block 块文件 | 可选参数,用于指定数据节点的本地文件系统上块文件的绝对路径。 |
| -meta 元数据文件 | 数据节点本地文件系统上元数据文件的绝对路径。 |
验证HDFS元数据和阻止文件。如果指定了阻止文件,我们将验证元数据文件中的校验和是否与阻止文件匹配。