命令
hdfs haadmin -getServiceState
hdfs haadmin -getServiceState
(2) dfs
Hadoop
hdfs dfs [COMMAND [COMMAND_OPTIONS]]
appendToFile
srcsrcsstdin
hadoop fs -appendToFile <localsrc>...<dst>
1)hadoop fs -appendToFile localfile1 localfile2 /user/hadoop/hadoopfile
2)hadoop fs -appendToFile localfile hdfs://nn.example.com/hadoop/hadoopfile
3)hadoop fs -appendToFile -hdfs://nn.example.com/hadoop/hadoopfile Reads the input from stdin
cat
stdout
hadoop fs -cat URI [URI ...]
1)hadoop fs -cat /file1 hdfs://nn2.example.com/file2
2)hadoop fs -cat file:///file3 /user/hadoop/file4
checksum
hadoop fs -checksum URI
1)hadoop fs -checksum hdfs://nn1.example.com/file1
2)hadoop fs -checksum file:///etc/hosts
chgrp
hadoop fs -chgrp [-R] GROUP URI [URI ...]-R
chmod
hadoop fs -chmod [-R] <MODE[,MODE]... | OCTALMODE> URI [URI ...] -R
URI -f
copyToLocal
-get
hadoop fs -copyToLocal [-ignorecrc] [-crc] URI <localdst>
count
hadoop fs -count [-q] [-h] [-v] <paths>
1)-count的输出格式为DIR_COUNT, FILE_COUNT, CONTENT_SIZE, PATHNAME
2) -count -q的输出格式为QUOTA, REMAINING_QUATA, SPACE_QUOTA, REMAINING_SPACE_QUOTA, DIR_COUNT,
FILE_COUNT, CONTENT_SIZE, PATHNAME
3) -h,选项显示可读的格式大小。 4) -v,选项显示标题行。
举例:
1)hadoop fs -count hdfs://nn1.example.com/file1 hdfs://nn2.example.com/file2
2)hadoop fs -count -q hdfs://nn1.example.com/file1
3)hadoop fs -count -q -h hdfs://nn1.example.com/file1
4)hdfs dfs -count -q -h -v hdfs://nn1.example.com/file1
cp
hadoop fs -cp [-f] [-p | -p[topax]] URI [URI ...] <dest>
1)-f,将覆盖目标,若是此文件已经存在的话。 2)-p,保留文件属性(timestamps, ownership,
permission,ACL,XATTR),如果-p没有arg,则保留(timestamps, ownership, permission)
举例:
1)hadoop fs -cp /user/hadoop/file1 /user/hadoop/file2
2)hadoop fs -cp /user/hadoop/file1 /user/hadoop/file2 /user/hadoop/dir
createSnapshot
snapshot
hdfs dfs -createSnapshot <path> [<snapshotName>
renameSnapshot
snapshot
hdfs dfs -renameSnapshot <path> <oldName> <newName>
deleteSnapshot
snapshot
hdfs dfs -deleteSnapshot <path> <snapshotName>
df
HDFS hadoop fs -df [-h] URI [URI ...]
1) -h,会将文件大小的数值用方便阅读的形式表示,比如用64.0M 代替67108864。
2)hadoop dfs -df /user/hadoop/dir1
du
+
hadoop fs -du [-s] [-h] URI [URI ...]
1)-s,指输出所有文件大小的累加和,而不是每个文件的大小。
2)-h,会将文件大小的数值用方便阅读的形式表示,比如用64.0M 代替67108864。
举例:
1)hadoop fs -du /user/hadoop/dir1 /user/hadoop/file1 hdfs://nn.example.com/user/hadoop/dir1
dus
hadoop dfs -du -s
hadoop fs -dus <args>
expunge
hadoop fs -expunge
get
HDFSsrclocaldstCRC -ignorecrc CRC -crc
hadoop fs -get [-ignorecrc] [-crc] <src> <localdst>
1)hadoop fs -get /user/hadoop/file localfile
2)hadoop fs -get hdfs://nn.example.com/user/hadoop/file
localfile
getfacl
ACLACLsetfaclACL
1)-R,列出所有文件及子目录的访问控制列表(ACL)。
2)path,列出文件或目录。
使用:hadoop fs -getfacl [-R] <path>
1)hadoop fs -getfacl /file
2)hadoop fs -getfacl -R /dir
getfattr
hadoop fs -getfattr [-R] -n name | -d [-e en] <path>
1)-R,这一操作对整个目录结构递归执行。 2)–n name,以名字匹配的扩展属性值。 3) -d:以路径匹配。
4)-encode:检索后进行编码,有效的编码为“text”, “hex”和 “base64”,编码为text括在双引号double
quotes ("),编码为“hex”和 “base64”其前缀分别为 0x和0s。 5)path:文件或目录。
举例:
1)hadoop fs -getfattr -d /file
2)hadoop fs -getfattr -R -n user.myAttr /dir
getmerge
src
1)-nl,可以设置为允许在每个文件的末尾添加一个换行符(LF)。
使用:hadoop fs -getmerge [-nl] <src> <localdst>
1)hadoop fs -getmerge -nl /src /opt/output.txt
2)hadoop fs -getmerge -nl /src/file1.txt /src/file2.txt /output.txt
help
hadoop fs -help
ls
Linuxls
1)对于一个文件,返回文件状态以如下格式列出:文件权限,副本数,用户ID,组ID,文件大小,最近修改日期,最
近修改时间,文件名 2)对于目录,返回目录下的第一层子目录和文件,与Unix 中ls
命令的结果类似;结果以如下状态列出:文件权限,用户ID,组ID,最近修改日期,最近修改时间,文件名。
使用:hadoop fs -ls [-d] [-h] [-R] <args>
1) -R,这一操作对整个目录结构递归执行。 2) -d:目录被列为纯文本文件。
3) -h,会将文件大小的数值用方便阅读的形式表示,比如用64.0M 代替67108864。
举例:
1)hadoop fs -ls /user/hadoop/file1
lsr
lshadoop fs -ls -R
hadoop fs -lsr <args>
mkdir
URI
hadoop fs -mkdir [-p] <paths>
1)-p, 该命令的行为与Unix 中mkdir -p 的行为十分相似。这一路径上的父目录如果不存在,则创建该父目录。
举例:
1)hadoop fs -mkdir /user/hadoop/dir1 /user/hadoop/dir2
2)hadoop fs -mkdir hdfs://nn1.example.com/user/hadoop/dir hdfs://nn2.example.com/user/hadoop/dir
moveFromLocal
put localsrcHDFSdstlocalsrc
hadoop fs -moveFromLocal <localsrc> <dst>
moveToLocal
“”
hadoop fs -moveToLocal [-crc] <src> <dst>
mv
HDFS
hadoop fs -mv URI [URI ...] <dest>
1)hadoop fs -mv /user/hadoop/file1 /user/hadoop/file2
2)hadoop fs -mv hdfs://nn.example.com/file1 hdfs://nn.example.com/file2 hdfs://nn.example.com/file3 hdfs://nn.example.com/dir1
put
srcsrcsstdin
hadoop fs -put <localsrc> ... <dst>
1)hadoop fs -put localfile /user/hadoop/hadoopfile
2)hadoop fs -put localfile1 localfile2 /user/hadoop/hadoopdir
3)hadoop fs -put localfile hdfs://nn.example.com/hadoop/hadoopfile
4)hadoop fs -put - hdfs://nn.example.com/hadoop/hadoopfile Reads the input from stdin.
rm
hadoop fs -rm [-f] [-r |-R] [-skipTrash] URI [URI ...]
1)-f,如果这个文件不存在将不会显示诊断信息或修改退出状态以反映一个错误。
2)-R,此操作对整个目录结构递归执行。-r选项等同于-R。 3)-skipTrash,删除指定文件而不是放入垃圾回收站。
1)hadoop fs -rm hdfs://nn.example.com/file /user/hadoop/emptydir
rmdir
hadoop fs -rmdir [--ignore-fail-on-non-empty] URI [URI ...]
--ignore-fail-on-non-empty
1)hadoop fs -rmdir /user/hadoop/emptydir
rmr
hadoop fs -rm -r
hadoop fs -rmr [-skipTrash] URI [URI ...]
setfacl
ACL
hadoop fs -setfacl [-R] [-b |-k -m |-x <acl_spec> <path>] |[--set <acl_spec> <path>]
1)-b,基本ACL条目全部删除。对于用户,组和其他的条目将保留与权限位的兼容性。
2)-k, 删除默认的ACL。
3)-R,此操作对整个目录结构递归执行。
4)-m,修改ACL。新条目将添加到ACL,并且现有条目将被保留。
5)-x,删除指定的ACL条目。其他ACL条目将被保留。
6)--set, 完全取代ACL,丢弃所有现有条目。该acl_spec必须包括用户,组条目,以及其他与权限位的兼容性。
7)acl_spec,逗号分隔的ACL条目列表。
8)path,文件或目录进行修改。
1)hadoop fs -setfacl -m user:hadoop:rw- /file
2)hadoop fs -setfacl -x user:hadoop /file
3)hadoop fs -setfacl -b /file
4)hadoop fs -setfacl -k /dir
5)hadoop fs -setfacl --set user::rw-,user:hadoop:rw-,group::r--,other::r-- /file
6)hadoop fs -setfacl -R -m user:hadoop:r-x /dir
7)hadoop fs -setfacl -m default:user:hadoop:r-x /dir
setfattr
hadoop fs -setfattr -n name [-v value] | -x name <path>
1)-b,基本ACL条目全部删除。对于用户,组和其他的条目将保留与权限位的兼容性。
2)-n name,扩展属性名称。
3)-v value:扩展属性值。该值有三种不同的编码方法。如果参数双引号括起来,则该值是引号内的字符串;如果参数是0x
或0X前缀,那么它被当作一个十六进制数;如果参数是0或0s开头,那么它被视为一个base64编码。
4)-x name,删除扩展属性。 5)path,文件或目录。
1)hadoop fs -setfattr -n user.myAttr -v myValue /file
2)hadoop fs -setfattr -n user.noValue /file
3)hadoop fs -setfattr -x user.myAttr /file
setrep
hadoop fs -setrep [-R] [-w] <numReplicas> <path>
1)–w,标志请求命令等待复制完成。这可能潜在地需要很长的时间。
2)-R,标志被接受的向后兼容性。它没有任何效果。
举例:hadoop fs -setrep -w 3 /user/hadoop/dir1
stat
hadoop fs -stat [format] <path> ...
hadoop fs -stat "%F %u:%g %b %y %n" /file
tail
1KBstdout
hadoop fs -tail [-f] URI
-f,UNIX
hadoop fs -tail pathname
test
hadoop fs -test -[defsz] URI
1)-e,检查文件是否存在,如果存在则返回0。
2)-z,检查文件是否是0字节,如果是则返回0。
3)-d,如果路径是一个目录,则返回1,否则返回0。
4)-f,如果路径是一个文件,返回0。
5)-s,如果路径不为空,则返回0。
hadoop fs -test -e filename
text
textzipTextRecordInputStream
hadoop fs -text <src>
touchz
0
hadoop fs -touchz URI [URI ...]
hadoop fs -touchz pathname
truncate
hadoop fs -truncate [-w] <length> <paths>
1-w,
1)hadoop fs -truncate 55 /user/hadoop/file1 /user/hadoop/file2
2)hadoop fs -truncate -w 127 hdfs://nn1.example.com/user/hadoop/file1
usage
hadoop fs -usage command
(4) fsck
HDFS
hdfs fsck <path>
[-list-corruptfileblocks |
[-move | -delete | -openforwrite]
[-files [-blocks [-locations|-racks]]]
[-includeSnapshots]
[-storagepolicies] [-blockId <blk_Id>]
参数选项
描述
<path>
从此路径开始检查。
-delete
删除损坏的文件。
-files
打印检查过的文件。
-files –blocks
打印block report。
-files –blocks –locations
打印每个block的location。
-files –blocks –racks
打印数据节点位置的网络拓扑。
-includeSnapshots
若路径指示为snapshottable目录或snapshottable目录下时包括snapshot数据。
list-corruptfileblocks
列出丢失的块和这些块所属的文件列表。
-move
移动损坏的文件到/lost+found。
-openforwrite
打印将要写的文件。
-storagepolicies
打印block的存储策略汇总。
-blockId
打印block的信息
hdfs getconf -namenodes
hdfs getconf -secondaryNameNodes
hdfs getconf -backupNodes
hdfs getconf -includeFile
hdfs getconf -excludeFile
hdfs getconf -nnRpcAddresses
hdfs getconf -confKey [key]
参数选项
描述
-namenodes
获取集群中的namenodes列表。
-secondaryNameNodes
获取集群中的secondary namenodes列表。
-backupNodes
获取集群中backup nodes的列表。
-includeFile
获取可以加入集群的datenodes的include文件路径。
-excludeFile
获取需要丢弃的datenodes的exclude文件路径。
-nnRpcAddresses
获取namenode的rpc地址。
-confKey [key]
从配置文件中获取一个特定的key
(6) groups
hdfs groups [username ...]
(7) lsSnapshottableDir
snapshottablesnapshottable
hdfs lsSnapshottableDir [-help]
(8) jmxget
JMX
hdfs jmxget [-localVM ConnectorURL | -port port | -server mbeanserver | -service service]
参数选项
描述
-help
打印用法
-localVM ConnectorURL
在同一台机器上链接VM。
-port mbean server port
指定mbean服务器端口,如果缺少它会尝试连接到同一个VM的mbean服务器上。
-service
指定的jmx服务,默认或是DataNode或是NameNode。
(9) oev
hadoopedits
hdfs oev [OPTIONS] -i INPUT_FILE -o OUTPUT_FILE
必选参数:
参数选项
描述
-i,--inputFile arg
edits文件格式,xml的扩展名即为xml格式,其他文件名即为二进制格式。
-o,--outputFile arg
输出文件名,如果指定文件存在,则其会被覆盖,文件的格式是由-p决定的。
可选参数:
参数选项 描述
-f,--fix-txids 为输入的transaction IDs重新编号,以防有空白或是无效的transaction IDs。
-h,--help 显示使用信息和退出。
-r,--ecover 当读取二进制editlog时,使用恢复模式。这将给你一次跳过edit log的损坏部分的机会。
-p,--processor
arg
将edits文件转换为哪种类型,目前支持的处理器:binary(原生Hadoop使用二进制格式),XML(默认XML格式),stats(统计编辑文件)
-v,--verbose 更详细的输出,将输入和输出的文件名,用于处理器写入到文件,并输出到屏幕。在大的图像文件,这将大大增加处理时间(默
(10) oiv
Hadoop
hdfs oiv [OPTIONS] -i INPUT_FILE
必选参数:
参数选项
描述
-i,--inputFile arg
输入FSImage文件,xml的扩展名即为xml格式,其他文件名即为二进制格式。
可选参数:
参数选项 描述
-h,--help 显示使用信息和退出。
-o,--
outputFile arg
转换后输出的文件名,如果指定文件存在,则其会被覆盖,文件的格式是由-p决定的。
-p,--processor
arg
将FSImage文件转换成哪种格式(Ls、XML、FileDistribution),目前支持:binary(原生Hadoop使用二进制格式),XML(默认XML格式)
(11) oiv_legacy
Hadoop
hdfs oiv_legacy [OPTIONS] -i INPUT_FILE -o OUTPUT_FILE
参数选项
描述
-h,--help
显示使用信息和退出。
-i,--inputFile arg
要处理的edit文件,xml的扩展名即为xml格式,其他文件名即为二进制格式。
-o,--outputFile arg
输出文件名,如果指定文件存在,则其会被覆盖,文件的格式是由-p决定的。
(12) snapshotDiff
HDFSsnapshots
hdfs snapshotDiff <path> <fromSnapshot> <toSnapshot>
(13) version
hdfs version
(10) oiv
Hadoop
hdfs oiv [OPTIONS] -i INPUT_FILE
必选参数:
参数选项
描述
-i,--inputFile arg
输入FSImage文件,xml的扩展名即为xml格式,其他文件名即为二进制格式。
可选参数:
参数选项 描述
-h,--help 显示使用信息和退出。
-o,--
outputFile arg
转换后输出的文件名,如果指定文件存在,则其会被覆盖,文件的格式是由-p决定的。
-p,--processor
arg
将FSImage文件转换成哪种格式(Ls、XML、FileDistribution),目前支持:binary(原生Hadoop使用二进制格式),XML(默认XML格式)
(11) oiv_legacy
Hadoop
hdfs oiv_legacy [OPTIONS] -i INPUT_FILE -o OUTPUT_FILE
参数选项
描述
-h,--help
显示使用信息和退出。
-i,--inputFile arg
要处理的edit文件,xml的扩展名即为xml格式,其他文件名即为二进制格式。
-o,--outputFile arg
输出文件名,如果指定文件存在,则其会被覆盖,文件的格式是由-p决定的。
(12) snapshotDiff
HDFSsnapshots
hdfs snapshotDiff <path> <fromSnapshot> <toSnapshot>
(13) version
hdfs version
2. 管理员命令
(1) balancer
Ctrl-C
hdfs balancer
[-threshold <threshold>]
[-policy <policy>]
[-exclude [-f <hosts-file> | <comma-separated list of hosts>]]
[-include [-f <hosts-file> | <comma-separated list of hosts>]]
[-idleiterations <idleiterations>]
参数选项
描述
-policy <policy>
均衡策略,DataNode(默认):每个datanode是均衡的; blockpool:datenode中的每一个block
pool是均衡的。
-threshold <threshold>
磁盘容量百分比。这将覆盖默认阈值。
-exclude -f <hosts-file> ,
不均衡指定的datanodes。
-include -f <hosts-file> ,
仅均衡指定的datanodes。
-idleiterations
<iterations>
在退出之前的最大迭代数。这将覆盖默认迭代值5
(2)Cacheadmin
hdfs
hdfs cacheadmin -addDirective -path <path> -pool <pool-name> [-force] [-replication <replication>] [-ttl
<time-to-live>]
参数选项
描述
<path>
Cache的路径。
<pool-name>
指令需要加入的pool,必须有写权限。
-force
跳过cache pool 的资源限制检查。
<replication>
Cache副本数。
<time-to-live>
指令有效期限。
hdfs cacheadmin -removeDirective
参数选项
描述
<id>
要去除的cache指向 ID,必须有写权限。
hdfs cacheadmin -removeDirectives
参数选项
描述
<path>
要去除的cache指向 ID,必须有写权限。
(3) crypto
hdfs
hdfs crypto -createZone -keyName <keyName> -path <path>
hdfs crypto -help <command-name>
hdfs crypto -listZone
(4) datanode
HDFS datenode
hdfs datanode [-regular | -rollback | -rollingupgrace rollback]
参数选项
描述
-regular
正常的datenode启动(默认)。
-rollback
回滚到以前版本的DataNode。此操作在停止datanode和老版本的Hadoop分布后执行。
-rollingupgrade
回滚升级操作
(5) dfsadmin
HDFSdfsadmin
hdfs dfsadmin [GENERIC_OPTIONS]
[-report [-live] [-dead] [-decommissioning]]
[-safemode enter | leave | get | wait]
[-saveNamespace]
[-rollEdits]
[-restoreFailedStorage true |false |check]
[-refreshNodes]
[-setQuota <quota> <dirname>...<dirname>]
[-clrQuota <dirname>...<dirname>]
[-setSpaceQuota <quota> <dirname>...<dirname>]
[-clrSpaceQuota <dirname>...<dirname>]
[-setStoragePolicy <path> <policyName>]
[-getStoragePolicy <path>]
[-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>]
[-allowSnapshot <snapshotDir>]
[-disallowSnapshot <snapshotDir>]
[-fetchImage <local directory>]
[-shutdownDatanode <datanode_host:ipc_port> [upgrade]]
[-getDatanodeInfo <datanode_host:ipc_port>]
[-triggerBlockReport [-incremental] <datanode_host:ipc_port>]
[-help [cmd]]
参数选项 描述
-report [-live] [-dead] [-decommissioning] 报告文件系统基本信息和统计。可选的标签可以用来过滤显示的数据节点列表。
-safemode enter|leave|get|wait 安全模式维护命令。安全模式即一个节点的状态: 1.不接受更改name
space(只读)2。不复制或删除blocks。在namenode启动时自动进入安全模式,在自动配置的最小比例
-saveNamespace 将当前命名空间保存到存储目录中,并重新设置编辑日志。需要安全模式。
-rollEdits 在一个active namenode上滚动edit log。
-setQuota <quota> <dirname>…<dirname> 设置目录的quota信息。
-clrQuota <dirname>…<dirname> 清空目录的quota信息。
-refreshNodes 刷新datanode节点信息。
-getStoragePolicy <path> 获取目录或文件的存储策略。
-setStoragePolicy <path> <policyName> 设置目录或文件的存储策略。
-finalizeUpgrade 完成HDFS升级。
-rollingUpgrade
[<query>|<prepare>|<finalize>]
回滚升级。
-refreshServiceAcl 刷新服务层的授权策略。
-refreshUserToGroupsMappings 刷新用户组的映射。
-refreshCallQueue 刷新调用队列。
-refreshNamenodes datanodehost:port 对指定的datanode重载配置文件,刷新block-pool信息。
-setBalancerBandwidth 设置balance带宽。
-getDatanodeInfo<datanode_host:ipc_port> 获取指定datanode的信息。
-shutdownDatanode<datanode_host:ipc_port>
[upgrade]
提交一个关闭datanode请求
(5) dfsadmin
HDFSdfsadmin
hdfs dfsadmin [GENERIC_OPTIONS]
[-report [-live] [-dead] [-decommissioning]]
[-safemode enter | leave | get | wait]
[-saveNamespace]
[-rollEdits]
[-restoreFailedStorage true |false |check]
[-refreshNodes]
[-setQuota <quota> <dirname>...<dirname>]
[-clrQuota <dirname>...<dirname>]
[-setSpaceQuota <quota> <dirname>...<dirname>]
[-clrSpaceQuota <dirname>...<dirname>]
[-setStoragePolicy <path> <policyName>]
[-getStoragePolicy <path>]
[-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>]
[-allowSnapshot <snapshotDir>]
[-disallowSnapshot <snapshotDir>]
[-fetchImage <local directory>]
[-shutdownDatanode <datanode_host:ipc_port> [upgrade]]
[-getDatanodeInfo <datanode_host:ipc_port>]
[-triggerBlockReport [-incremental] <datanode_host:ipc_port>]
[-help [cmd]]
参数选项 描述
-report [-live] [-dead] [-decommissioning] 报告文件系统基本信息和统计。可选的标签可以用来过滤显示的数据节点列表。
-safemode enter|leave|get|wait 安全模式维护命令。安全模式即一个节点的状态: 1.不接受更改name
space(只读)2。不复制或删除blocks。在namenode启动时自动进入安全模式,在自动配置的最小比例
-saveNamespace 将当前命名空间保存到存储目录中,并重新设置编辑日志。需要安全模式。
-rollEdits 在一个active namenode上滚动edit log。
-setQuota <quota> <dirname>…<dirname> 设置目录的quota信息。
-clrQuota <dirname>…<dirname> 清空目录的quota信息。
-refreshNodes 刷新datanode节点信息。
-getStoragePolicy <path> 获取目录或文件的存储策略。
-setStoragePolicy <path> <policyName> 设置目录或文件的存储策略。
-finalizeUpgrade 完成HDFS升级。
-rollingUpgrade
[<query>|<prepare>|<finalize>]
回滚升级。
-refreshServiceAcl 刷新服务层的授权策略。
-refreshUserToGroupsMappings 刷新用户组的映射。
-refreshCallQueue 刷新调用队列。
-refreshNamenodes datanodehost:port 对指定的datanode重载配置文件,刷新block-pool信息。
-setBalancerBandwidth 设置balance带宽。
-getDatanodeInfo<datanode_host:ipc_port> 获取指定datanode的信息。
-shutdownDatanode<datanode_host:ipc_port>
[upgrade]
提交一个关闭datanode请求。
(6) haadmin
ha
hdfs haadmin -checkHealth <serviceId>
hdfs haadmin -failover [--forcefence] [--forceactive] <serviceId> <serviceId>
hdfs haadmin -getServiceState <serviceId>
hdfs haadmin -help <command>
hdfs haadmin -transitionToActive <serviceId> [--forceactive]
hdfs haadmin -transitionToStandby <serviceId>
参数选项
描述
-checkHealth
检查给定NameNode节点的健康状态。
-failover
启动两节点之间的故障转移。
-getServiceState
获取NameNode节点状态是active或standby。
-transitionToActive
把给定NameNode节点的状态转变为active。
-transitionToStandby
把给定NameNode节点的状态转变为standby。
(7) journalnode
HDFS HA with QJM journalnode
hdfs journalnode
hdfs mover [-p <files/dirs> | -f <local file name>]
参数选项
描述
-f <local file>
指定一个一系列HDFS文件/目录迁移的本地文件。
-p <files/dirs>
指定一个一系列HDFS文件/目录迁移的空间。
(9) namenode
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 <downgrade |rollback> ] |
[-finalize] |
[-importCheckpoint] |
[-initializeSharedEdits] |
[-bootstrapStandby] |
[-recover [-force] ] |
[-metadataVersion ]
参数选项 描述
-backup 启动备份节点。
-checkpoint 启动检查点节点。
-format [-clusterid cid] [-force]
[-nonInteractive]
格式化指定的NameNode,启动NameNode,格式化,然后关闭它;-force如果名称目录存在,则格式化;-nonIntera
如果名称目录存在,则终止;除非被指定为-force。
-upgrade [-clusterid cid]
[-renameReserved <k-v pairs>]
部署了一个新的Hadoop版本后,NameNode需要用upgrade启动。
-upgradeOnly [-clusterid cid]
[-renameReserved <k-v pairs>]
升级指定的NameNode,然后关闭它。
-rollback 回滚到以前版本的NameNode,此操作在停止NameNode和老版本的Hadoop分布后执行。
-rollingUpgrade
<downgrade,rollback,started>
升级回滚。
-finalize -finalize将会删除文件系统以前的状态。最新的升级将会成为永久性的。-rollback参数选项将不可用。-finalize后,将会关
-importCheckpoint 从检查点目录中加载图像并将其保存到当前。检查点目录读取至fs.checkpoint.dir。
-initializeSharedEdits 格式化一个新的共享Edit目录和Edit日志的副本,便于standby NameNode可以重新启动。
-bootstrapStandby 允许standby NameNode的存储目录被引导通过从active NameNode复制新的命名空间快照。在第一次配置HA集群的时
-recover [-force] 在损坏的文件系统中回复已丢失的元数据。
-metadataVersion 验证所配置的目录存在,然后打印软件和图像的元数据版本。
(10) nfs3
nfs3
hdfs nfs3
(11) portmap
RPC
hdfs portmap
(12) secondarynamenode
HDFS secondary namenode
hdfs secondarynamenode [-checkpoint [force]] | [-format] | [-geteditsize]
参数选项
描述
-checkpoint
[force]
如果EditLog size >= fs.checkpoint.size,检查SecondaryNameNode。若有force选项,则检查点不考虑EditLog
size。
-format
在启动过程中格式化本地存储。
-geteditsize
获取edit大小。
hdfs zkfc [-formatZK [-force] [-nonInteractive]]
参数选项
描述
-formatZK
格式化Zookeeper实例。
-h
列出help
3. 调试命令
(1) verify
HDFSchecksum
hdfs debug verify [-meta <metadata-file>] [-block <block-file>]
参数选项
描述
-block block-file
指定数据节点的本地文件系统上的块文件的绝对路径。
-meta metadata-file
数据节点的本地文件系统上的元数据文件的绝对路径。
(2) recoverLease
HDFS1
hdfs debug recoverLease [-path <path>] [-retries <num-retries>]
参数选项
描述
[-path path]
恢复租约的HDFS路径。
[-retries num-retries]
客户端将重试调用recoverLease的次数。重试默认次数为1。
二、mapred操作
mapred [--config confdir] COMMAND
1. 用户命令
(1) archive
Hadoop archive
hadoop archive -archiveName foo.har -p /user/hadoop -r 3 dir1 dir2 /user/zoo
(2) classpath
Hadoopjarlib
mapred classpath
(3) distcp
(4) job
jobMapReduce
mapred job | [GENERIC_OPTIONS] | [-submit <job-file>] | [-status <job-id>] | [-counter <job-id>
<group-name> <counter-name>] | [-kill <job-id>] | [-events <job-id> <from-event-#> <#-of-events>] |
[-history [all] <jobOutputDir>] | [-list [all]] | [-kill-task <task-id>] | [-fail-task <task-id>] |
[-set-priority <job-id> <priority>]
参数选项 描述
-submit
job-file
提交一个job。
-status job-id 打印map任务和reduce任务完成百分比和所有job的计数器。
-counter
job-id
group-name
counter-name
打印指定counter的值。
-kill job-id 根据job-id杀掉指定job。
-history [all]
jobOutputDir
打印job的细节,失败和杀掉原因的细节。更多的关于一个作业的细节比如:成功的任务和每个任务尝试等信息可以通过指定[all]选项查看。
-list [all] 打印当前正在运行的job,如果加了all,则打印所有的job。
-kill-task
task-id
kill任务,杀掉的任务不记录在失败的attempts中。
-fail-task
task-id
fail任务,杀掉的任务记录在失败的attempts中。默认任务的重试次数是4次,超过四次则不重试。那么如果使用fail-task命令fail同一个任务四
-set-priority
job-id priority
改变job的优先级。允许的优先级有:VERY_HIGH, HIGH, NORMAL, LOW, VERY_LOW
(5) pipes
pipes
mapred pipes [-conf <path>] [-jobconf <key=value>, <key=value>, ...] [-input <path>] [-output <path>] [-jar
<jar file>] [-inputformat <class>] [-map <class>] [-partitioner <class>] [-reduce <class>] [-writer
<class>] [-program <executable>] [-reduces <num>]
参数选项
描述
-conf path
job的配置文件路径。
-jobconf key=value, key=value, …
增加/重载job的配置。
-input path
输入路径
-output path
输出路径
-jar jar file
JAR文件名
-inputformat class
InputFormat类
-map class
Java Map 类
-partitioner class
Java Partitioner
-reduce class
Java Reduce 类
-writer class
Java RecordWriter
-program executable
可执行的URI
-reduces num
reduce的数量
(6) queue
mapred queue [-list] | [-info <job-queue-name> [-showJobs]] | [-showacls]
参数选项
描述
-list
获取在系统配置的Job Queues列表。已经Job Queues的调度信息。
-info job-queue-name
[-showJobs]
显示一个指定Job|Queue的信息和它的调度信息。如果使用-showJobs选项,则显示当前正在运行的JOB列表。
-showacls
显示队列名和允许当前用户对队列的相关操作。这个命令打印的命令是当前用户可以访问的。
(7) version
mapred versios
2. 管理员命令
(1) historyserver
JobHistoryServer
mapred historyserver
mapred hsadmin [-refreshUserToGroupsMappings] |
[-refreshSuperUserGroupsConfiguration] |
[-refreshAdminAcls] |
[-refreshLoadedJobCache] |
[-refreshLogRetentionSettings] |
[-refreshJobRetentionSettings] |
[-getGroups [username]] | [-help [cmd]]
参数选项
描述
-refreshUserToGroupsMappings
刷新用户-组的对应关系。
-refreshSuperUserGroupsConfiguration
刷新超级用户代理组映射
-refreshAdminAcls
刷新JobHistoryServer管理的ACL
-refreshLoadedJobCache
刷新JobHistoryServer加载JOB的缓存
-refreshJobRetentionSettings
刷新Job histroy保留周期、作业清除设置。
-refreshLogRetentionSettings
刷新日志保留周期和日志保留的检查间隔
-getGroups [username]
获取这个用户名属于哪个组
-help [cmd]
帮
三、yarn操作
1.用户命令
(1)application
/
yarn application [options]
参数选项 描述
-appStates
<States>
使用-list命令,基于应用程序的状态来过滤应用程序。如果应用程序的状态有多个,用逗号分隔。 有效的应用程序状态包含如下: ALL,
NEW, NEW_SAVING, SUBMITTED, ACCEPTED, RUNNING, FINISHED, FAILED, KILLED
-appTypes
<Types>
使用-list命令,基于应用程序类型来过滤应用程序。如果应用程序的类型有多个,用逗号分隔。
-list 从RM返回的应用程序列表,使用-appTypes参数,支持基于应用程序类型的过滤,使用-appStates参数,支持对应用程序状态的过滤。
-kill
<ApplicationId>
kill掉指定的应用程序。
-status
<ApplicationId>
打印应用程序的状态。
(2)applicationattempt
yarn applicationattempt [options]
参数选项
描述
-help
帮助
-list <ApplicationId>
获取到应用程序attempt的列表,其返回值ApplicationAttempt-Id 等于 <Application Attempt Id>
-status <Application Attempt Id>
打印应用程序attempt的状态。
(3)classpath
Hadoopjarlib
yarn classpath
(4)container
container(s)
yarn container [options]
参数选项
描述
-help
帮助
-list <Application Attempt Id>
应用程序attempts的Containers列表
-status <ContainerId>
打印Container的状态
(5)jar
jarYARNjar
yarn jar <jar> [mainClass] args...
(6)logs
yarn logs -applicationId <application ID>
container
参数选项
描述
-applicationId <application ID>
指定应用程序ID
-appOwner <AppOwner>
AppOwner(假设为如果未指定当前用户)
-containerId <ContainerId>
ContainerId(如果指定节点地址必须指定)
-help
帮助
-nodeAddress <NodeAddress>
格式化的NameNode中的节点地址:端口(如果指定容器ID必须指定)
(7)node
yarn node [options]
参数选项 描述
-all 所有的节点。
-list 列出所有RUNNING状态的节点。支持-states选项过滤指定的状态,节点的状态包含:NEW,RUNNING,UNHEALTHY,DECOMMISSIONED
-states
<States>
和-list配合使用,用逗号分隔节点状态,只显示这些状态的节点信息。
-status
<NodeId>
打印指定节点的状态。
(8)queue
yarn queue [options]
参数选项
描述
-help
帮助。
-status <QueueName>
打印队列的状态。
(9)version
yarn version
2.管理员命令
(1)daemonlog
/
yarn daemonlog -getlevel <host:httpport> <classname>
yarn daemonlog -setlevel <host:httpport> <classname> <level>
参数选项 描述
-getlevel
<host:httpport>
<classname>
打印由<类名>标识的日志的日志级别,在后台运行:<主机:端口>。此命令内部连接至http://<host:httpport>/logLevel?log=<classnam
-setlevel
<host:httpport>
<classname>
打印由<类名>标识的日志的日志级别,在后台运行:<主机:端口>。此命令内部连接至http://<host:httpport>/logLevel?log=<classnam
(2)nodemanager
nodemanager
yarn nodemanager
(3)proxyserver
Web
yarn proxyserver
(4)resourcemanager
ResourceManager
yarn resourcemanager [-format-state-store]
参数选项
描述
-format-state-store
格式化RMStateStore,将会清除RMStateStore,ResourceManager不运行的时候才执行。
(5)rmadmin
ResourceManager
yarn rmadmin [-refreshQueues]
[-refreshNodes]
[-refreshUserToGroupsMapping]
[-refreshSuperUserGroupsConfiguration]
[-refreshAdminAcls]
[-refreshServiceAcl]
[-getGroups [username]]
[-transitionToActive [--forceactive] [--forcemanual] <serviceId>]
[-transitionToStandby [--forcemanual] <serviceId>]
[-failover [--forcefence] [--forceactive] <serviceId1> <serviceId2>]
[-getServiceState <serviceId>]
[-checkHealth <serviceId>]
[-help [cmd]]
参数选项 描述
-refreshQueues 重载队列的ACL,状态和调度器特定的属性,ResourceManager将重载队列的配置文件。
-refreshNodes 动态刷新RM端的主机信息。
-refreshUserToGroupsMappings 刷新用户到组的映射。
-refreshSuperUserGroupsConfiguration 刷新超级用户组的配置。
-refreshAdminAcls 刷新ResourceManager的ACL管理。
-refreshServiceAcl ResourceManager重载服务级别的授权文件。
-getGroups [username] 获取指定用户所属的组。
-transitionToActive [–forceactive]
[–forcemanual]
尝试将目标服务转为
Active状态。如果使用了–forceactive选项,不需要核对非Active节点。如果采用了自动故障转移,这个命令不能使
-transitionToStandby [–forcemanual] 将服务转为 Standby 状态. 如果采用了自动故障转移,这个命令不能使用。虽然可以重写–forcemanual选项,需要
-failover [–forceactive] 启动从serviceId1 到
serviceId2的故障转移。如果使用了-forceactive选项,即使服务没有准备,也会尝试故障转移到目标服务。如果采
-getServiceState 返回服务的状态。(注:ResourceManager不是HA的时候,时不能运行该命令的)
-checkHealth 请求服务器执行健康检查,如果检查失败,RMAdmin将用一个非零标示退出。(注:ResourceManager不是HA的
-help [cmd] 显示指定命令的帮助,如果没有指定,则显示命令的帮助。
(6)scmadmin
yarn scmadmin [options]
参数选项
描述
-help
帮助。
-runCleanerTask
运行CleanerTask。
(7)sharedcachemanager
yarn sharedcachemanager
(8)timelineserver
TimeLineServer
yarn timelineserve
四、Hadoop操作
1.用户命令
(1)archive
Hadooparchive
(2)checknative
Hadoop
hadoop checknative [-a] [-h]
参数选项
描述
-a
检查所有的库都可用。
-h
打印帮助。
(3)classpath
Hadoopjarlib
hadoop classpath [--glob |--jar <path> |-h |--help]
参数选项
描述
--glob
扩展通配符。
--jar path
在jar命名空间中写类的路径作为manifest。
-h, --help
打印帮助。
(4)credential
hadoop credential <subcommand> [options]
参数选项
描述
create alias [-provider
provider-path]
提示用户存储证书以给定alias。除非-provider被指定,core-site.xml
文件内的hadoop.security.credential.provider.path才被使用。
delete alias [-provider
provider-path] [-f]
删除给定alias的证书。除非-provider被指定,core-site.xml
文件内的hadoop.security.credential.provider.path才被使用。-f,要求确认。
list [-provider provider-path]
列出所有证书的alias。
(5)distcp
hadoop distcp hdfs://nn1:port/path/ hdfs://nn2:port/path
(6)fs
hdfs dfs
(7)jar
jar
hadoop jar <jar> [mainClass] args..
(8)key
KeyProviderkeys
(9)trace
Hadoop
(10)version
Hadoop
hadoop version
(11)CLASSNAME
classname
hadoop CLASSNAME <classname>
2.管理员命令
(1)daemonlog
/
hadoop daemonlog -getlevel <host:httpport> <classname>
hadoop daemonlog -setlevel <host:httpport> <classname> <level>
参数选项 描述
-getlevel
host:httpport
classname
打印由合格的<类名>标识的日志的日志级别,在后台运行:<主机:http端口>。此命令内部连接至http://<host:httpport>/logLevel?log=<c
-setlevel
host:httpport
classname
level
打印由合格的<类名>标识的日志的日志级别,在后台运行:<主机:http端口>。此命令内部连接至http://<logLevel?log=&level=
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




