概述(Hadoop版本2.8.4)
所有HDFS命令都由bin/ hdfs脚本调用。运行没有任何参数的hdfs脚本将打印所有命令的描述。
用法: hdfs [SHELL_OPTIONS] COMMAND [GENERIC_OPTIONS] [COMMAND_OPTIONS]
Hadoop有一个选项解析框架,它使用解析通用选项和运行类。
命令选项 | 描述 |
---|---|
--config --loglevel | shell选项的公共集。 |
GENERIC_OPTIONS | 多个命令支持的通用选项集。 |
COMMAND COMMAND_OPTIONS | 下面几节将描述带有选项的各种命令。 |
User 命令
对hadoop集群用户有用的命令。
classpath
打印获取Hadoop jar和所需库所需的类路径。
dfs
用法: hdfs dfs [COMMAND [COMMAND_OPTIONS]]
在Hadoop支持的文件系统上运行文件系统命令。可以在Hadoop FS Shell 命令找到各种COMMAND_OPTIONS。
fetchdt
从NameNode获取委托令牌。
fsck
用法:
hdfs fsck <path>
[-list-corruptfileblocks |
[-move | -delete | -openforwrite]
[-files [-blocks [-locations | -racks | -replicaDetails | -upgradedomains]]]
[-includeSnapshots]
[-storagepolicies] [-blockId <blk_Id>]
命令选项 | 描述 |
---|---|
path | 从这个路径开始检查。 |
-delete | 删除损坏的文件。 |
-files | 打印出要检查的文件。 |
-files -blocks | 打印块报告 |
-files -blocks -locations | 打印出每个块的位置。 |
-files -blocks -racks | 打印数据节点位置的网络拓扑。 |
-files -blocks -replicaDetails | 打印出每个副本细节。 |
-files -blocks -upgradedomains | 打印每个块的升级域。 |
-includeSnapshots | 如果给定的路径指示快照目录或该目录下有快照目录,则包含快照数据。 |
-list-corruptfileblocks | 打印出丢失的块和它们所属的文件的列表。 |
-move | 将损坏的文件移动到/lost+found |
-openforwrite | 打印为写打开的文件。 |
-storagepolicies | 打印出块的存储策略摘要。 |
-blockId | 打印出关于块的信息。 |
运行HDFS文件系统检查功能程序。
getconf
用法:
hdfs getconf -namenodes
hdfs getconf -secondaryNameNodes
hdfs getconf -backupNodes
hdfs getconf -includeFile
hdfs getconf -excludeFile
hdfs getconf -nnRpcAddresses
hdfs getconf -confKey [key]
命令选项 | 描述 |
---|---|
-namenodes | 获取集群中的namenode列表。 |
-secondaryNameNodes | 获取集群中辅助namenode的列表。 |
-backupNodes | 获取群集中的备份节点列表。 |
-includeFile | 获取定义可以加入集群的数据节点的包含文件路径。 |
-excludeFile | 获取定义需要退出的数据节点的排除文件路径。 |
-nnRpcAddresses | 获取namenode rpc地址 |
-confKey [key] | 从配置中获取特定的键 |
从配置目录获取配置信息。
groups
用法: hdfs groups [username ...]
返回给定一个或多个用户名的组信息。
lsSnapshottableDir
获取快照目录的列表。当它作为超级用户运行时,它返回所有快照目录。否则,它返回当前用户拥有的目录。
version
用法: hdfs version
打印版本。
Administration 命令
对hadoop集群管理员有用的命令。
dfsadmin
用法:
hdfs dfsadmin [GENERIC_OPTIONS]
[-report [-live] [-dead] [-decommissioning]]
[-safemode enter | leave | get | wait | forceExit]
[-saveNamespace]
[-rollEdits]
[-restoreFailedStorage true |false |check]
[-refreshNodes]
[-setQuota <quota> <dirname>...<dirname>]
[-clrQuota <dirname>...<dirname>]
[-setSpaceQuota <quota> [-storageType <storagetype>] <dirname>...<dirname>]
[-clrSpaceQuota [-storageType <storagetype>] <dirname>...<dirname>]
[-finalizeUpgrade]
[-rollingUpgrade [<query> |<prepare> |<finalize>]]
[-metasave filename]
[-refreshServiceAcl]
[-refreshUserToGroupsMappings]
[-refreshSuperUserGroupsConfiguration]
[-refreshCallQueue]
[-refresh <host:ipc_port> <key> [arg1..argn]]
[-reconfig <datanode |...> <host:ipc_port> <start |status>]
[-printTopology]
[-refreshNamenodes datanodehost:port]
[-deleteBlockPool datanode-host:port blockpoolId [force]]
[-setBalancerBandwidth <bandwidth in bytes per second>]
[-getBalancerBandwidth <datanode_host:ipc_port>]
[-allowSnapshot <snapshotDir>]
[-disallowSnapshot <snapshotDir>]
[-fetchImage <local directory>]
[-shutdownDatanode <datanode_host:ipc_port> [upgrade]]
[-getDatanodeInfo <datanode_host:ipc_port>]
[-evictWriters <datanode_host:ipc_port>]
[-triggerBlockReport [-incremental] <datanode_host:ipc_port>]
[-listOpenFiles]
[-help [cmd]]
命令选项 | 描述 |
---|---|
-report [-live] [-dead] [-decommissioning] | 报告基本的文件系统信息和统计信息,dfs的使用可以不同于“du”的使用,因为它度量所有DNs上复制、校验和、快照等使用的原始空间。可选标记可用于筛选显示的数据阳极列表。 |
-safemode enter|leave|get|wait|forceExit | 安全模式维护命令。安全模式是一种Namenode状态: 1. 不接受名称空间(只读) 2. 不复制或删除块。 安全模式在Namenode启动时自动进入,当配置的最小块百分比满足最小复制条件时自动离开安全模式。如果Namenode检测到任何异常,那么它将停留在安全模式下,直到该问题得到解决。如果该异常是故意操作的结果,那么管理员可以使用-safemode forceExit退出安全模式。可能需要forceExit的情况是: 1. Namenode元数据不一致。如果Namenode检测到元数据被带外修改并可能导致数据丢失,那么Namenode将进入forceExit状态。此时,用户可以使用正确的元数据文件重新启动Namenode,也可以使用forceExit(如果数据丢失是可以接受的)。 2. 回滚会导致元数据被替换,而且很少会在Namenode中触发安全模式forceExit状态。在这种情况下,您可以通过发出-safemode forceExit继续。安全模式也可以手动输入,但也只能手动关闭。 |
-listOpenFiles | 列出NameNode当前管理的所有打开的文件,以及客户机名称和访问它们的客户机机器。 |