Apache Hadoop 2.4.1 命令参考

Stella981
• 阅读 724

概述

所有的Hadoop命令都是通过bin/hadoop目录下的脚本所执行,在没有任何参数的情况下运行Hadoop脚本将打印该命令描述。

Usage:Hadoop  [--config confdir] [COMMAND] [GENERIC_OPTIONS] [COMMAND_OPTIONS]

hadoop有个输入选项解析框架可以利用在运行class的时候来解析参数。

 COMMAND_OPTION

 Description

 --config confdir

 包含所有的配置目录,默认目录是$HADOOP_HOME/conf

 GENERIC_OPTION

 COMMAND_OPTION

 这个选项的集合被多个命令支持。各个命令和它们的选项描述在下列的段落中。这些命令被分组成用户命令和管理员命令。

通用项

dfsadmin, fs, fsck, job and fetchdt都支持下属选项所有的。应用程序需要实现Tool接口然后才能支持通用选项解析。

 GENERIC_NAME

 Description

 --conf

 指定一个文件的配置文件

 -D =

 为属性指定值

 -jt or jobtracker:port

 指定一个Job tracker。 仅仅应用于Job。

 -files

 用逗号分隔文件并复制到map reduce集群。仅仅应用于job。

 -libjars

 逗号分隔在classpath中的jar文件。仅仅应用于job。

 -archives

 用逗号分隔在计算中未归档的文件。 仅仅应用于job。

用户命令

hadoop集群用户基于命令是非常方便的

archive

创建一个Hadoop归档,更多信息可以在Hadoop归档中查找。

Usage: hadoop archive -archiveName  NAME 

 COMMAND_OPTION

Description 

 -archiveName NAME

 被创建archive的名字

 src

 文件系统的工作路径,通常使用正则表达式

 dest

 包含archive文件的目标目录

distcp

 递归拷贝文件或者目录,更多信息可以通过Hadoop DistCp指南来查看。

 Usage:hadoop distcp

 COMMAND_OPTION

 Description

 srcurl

 URL源

 desturl

 目标URL

fs

Usage:hadoop fs [GENERIC_OPTIONS] [COMMAND_OPTIONS]

反对使用,使用hdfs dfs代替使用。

使用客户端运行一个通用文件系统。

各种COMMAND_OPTIONS都可以通过File System Shell指南找到

fsck

运行一个hdfs系统检查工具,更多信息参考fsck。

Usage: hadoop fsck [GENERIC_OPTION]  [-move | -delete | -openforwrite] [-file  [-blocks [-locations | racks] ] ] 

COMMAND_OPTION

Description

path

开始检查这个path

-move

移动错误的文件到/lost+found

-delete

删除错误的文件

-openforwrite

为写打开文件

-files

检查输出文件

-blocks

打印快报告

-locations

打印每个块的位置

-racks

为数据节点位置打印网络拓扑

fetchdt

从NameNode获取委托token,更多信息请参考fetchdt。

Usage: hadoop fetchdt  [GENERIC_OPTIONS]  [--webservice <namenode_http_addr>]   

 COMMAND_OPTION

 Description

 FileName

 文件名字存在的记录中

--webservice https_address

 使用http协议代替RPC

jar

运行一个jar文件,用户可以打包他们的map reduce文件并且可以使用这个命令执行。

Usage: hadoop jar   [mainClass] args ...

流的工作需要通过这个命令。例子可以从Streaming examples中查阅。

单词统计例子也可以使用jar命令来运行,这个例子我们也可以在Wordcount example中查阅。

job

与map reduce job命名交互。        

Usage: hadoop job [GENERIC_OPTIONS] [-submit ]   |  [status ]   |   [counter <group_name> ]  |   [-kill ]   |   [-events <from-event-#>]   |   [-history [all] [JobOutputDir]]   |   [-list [all]] | [kill-task]   |   [-fail-task ]   |   [-set-priority ]     

 COMMAND-OPTIONS

Description 

 -submit job-file

 提交一个作业

 -status job-id 

 打印map reduce完成的百分比和所有作业数量

 -counter job-id group name counter-name

 打印统计值

 -kill job-id

 杀掉这个作业

 -events job-id from-event-#  #-of-events

 打印从jobtracker给定范围接收到的事件细节。

 -history [all]jobOutputDir

 打印工作细节,失败和死亡提示信息。 以通过指定[所有]选项获取详细的工作任务和任务成功的尝试

 -list [all]

 显示已经完成的作业。 list all显示所有的作业

 -kill-task task-id

 杀掉这任务。杀死的任务并不算失败的尝试

 -fail-task task-id

 失败的任务。失败的任务算失败尝试

 -set-priority job-id priority

 改变job的优先权,允许的有限值是VERY_HIGH, HIGH, NORMAL, LOW, VERY_LOW

pipes

运行一个管道作业。

Usage: hadoop pipes [-conf ]  [-jobconf <key=value>,[key=value],...]  [-input ]  [-output ]  [-jar ]  

[-inputformat ] [-map ]  [-partitioner ]  [-reduce ] [-writer ]  [-program ]  [-reduces ]

 COMMANE_OPTION

Description 

 -conf path

 Job配置文件

 -jobconf key=value,key=value,...

 添加/覆盖配置文件

 -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的数量

queue

此命令可以跟hadoop job的队列交互。

Usage: hadoop queue [-list]  |  [-info [ShowJobs]]  | [Showacls]  

 COMMAND_OPTION

Description 

 -list

 获得系统中作业队列的配置列表,以及与作业相关的队列调度信息

 -info job-queue-name [-showJobs]

 显示指定作业队列的队列信息和相关的调度信息。如果存在 -showJobs选项的列表,则表示作业提交给指定的作业队列。

 -showacls

 显示队列名称和允许当前用户相关的队列操作。列表只包含用户访问队列。

version

打印出Hadoop的版本。

Usage: hadoop version

CLASSNAME

可以使用hadoop脚本去执行任何一个类。

Usage: hadoop CLASSNAME

运行这个类的名字叫着 CLASSNAME

classpath

打印hadoop所需jar文件和需求库的路径。

Usage: hadoop classpath

Administration命令

hadoop集群管理员可以基于管理员命令很好的管理集群。

balancer

运行一个负载均衡工具,管理员可以简单的执行 Ctrl-C去停止这个操作, 更对细节请参考 Rebalancer

Usage: hadoop balancer [-threshold ]

 COMMAND_OPTION

Description 

 -threshold threshold

 磁盘容量百分比。覆盖默认的阀值。

daemonlog

为每个守护进程设置日志查看或者设置级别

Usage: hadoop daemonlog  -getlevel host:port  

Usage: hadoop daemonlog  -setlevel  host:port

 COMMAND_OPTION

Description 

 -getlevel host:port name

 打印运行在host:port守护进程的日志级别,这个命令内部连接到http://host:port/logLevel?log=name

 -setlevel host:port name level

 设置运行在host:port守护进程的日志级别,这个命令内部连接到http://host:port/logLevel?log=name

datanode

启动一个 HDFS datanode。

Usage: hadoop datanode [-rollback]  

 COMMAND_OPTION

Description 

 -rollback

回滚datanode前一个版本,这应该用于停止datanode和hadoop分布式旧版本后 

dfsadmin

启动一个hdfs 管理客户端。

Usage: hadoop   dfsadmin    [GENERIC_OPTIONS]     [-report]      [safemode enter | leave | wait  | get]      [-refreshNodes]   [-finalizeUpgrade]         [-upgradeProgress status | details | force]    [-metasave filename]   [-setQuota ... ]   [-restoreFailedStorage true|false | check]    [-help [cmd]]

 COMMAND_OPTION

Description 

 -report

 报告基本的文件系统的信息和状态

 -safemode enter / leave / get  / wait

 安全模式维护命令。安全模式的Namenode状态

1.name space不接受改变(只读)

2.不能复制和删除块

NameNode启动自动进入安全模式,当配置的最小的块的百分比满足最小复制状态自动离开安全模式。安全模式也可以手动进入,但也需要手动退出。

 -refreshNodes

 允许连接到namenode和那些应停止或重新启用集合,重新读取主机和排除的文件更新到datanode。

 -finalizeUpgrade

 HDFS完成升级。datanode删除他们的之前版本的工作目录,其次是Namenode做同样的事。这就完成了升级过程。

 -upgradeProgress  status/details/force

 请求当前分布式的升级状态。详细状态或者强制升级。

 -metasave filename

 通过hadoop.log.dir属性指定的目录保存NameNode的主要数据结构到文件。如果文件名已经存在将被覆盖。filename将会包含下列的每一项:

1.DataNode心跳

2.等待复制的块

3.目前被复制的块

4.等待被删除的块

 setQuota quota  dirname ... dirname

为每个dirname目录设置定额,目录配额是一个长整数,并且目录树名和数量是一个硬限制。最佳工作目录,错误报告

1.用户不是管理员

2.N不是一个正整数

3.目录不存在或者是一个文件

4.目录将会超过新限额

 -clrQuota dirname ... dirname

 明白每个dirname目录的定额,最佳工作目录,与故障报告

1.目录不存在或者是一个文件

2.用户不是管理员,如果目录没有配额它没有错

 -restroreFailedStorage  true/false/check

 这个选项将打开/关闭自动试图恢复失败的存储副本。如果要失败的存储再次可用,系统将会试图从checkpoint中恢复edits或(和)fsimage. 'check'将返回当前设置

 -help [cmd]

 显示给定命令的帮助,或如果没有指定命令,则显示全部帮助

mradmin

运行一个mr管理客户端。

Usage: hadoop mradmin [GENERIC_OPTION]   [-refreshQueueAcls]

 COMMAND_ OPTION

Description 

 -refreshQueueAcls

 更新hadoop使用的acl队列

jobtracker

运行一个MapReduce job tracker。

Usage:hadoop jobtracker [dumpConfiguration]

 COMMAND_OPTION

Description 

 -dumpconfiguration

 转储 JobTracker所使用的配置以及JSON格式的JobTracker和exits使用标准输出配置。

namenode

运行namenode。关于升级、回滚、初始化的更多信息请参考Upgrade Rollback 。

Usage: hadoop namenode  [-format] [-upgrade] [-rollback] [-finalize] [-importCheckpoint]  

 COMMAND_OPTION

Description 

 -format

 格式化namenode,它启动namenode,格式化它,然后关闭它。

 -upgrade

 Namenode应该开启升级新hadoop版本分布式选项。

 -rollback

 回滚之前的版本。停止旧版本hadoop分布式集群后才应该被使用。

 -finalize

 确定将要删除先前文件系统的状态,最近的升级变为永久,回滚选项将不再可用。结束后将namenode关闭

 -importCheckpoint

 从一个checkpoint目录加载image并且将他保存到当前的一个。从属性fs.checkpoint.dir读取Checkpoint目录

secondarynamenode

运行 HDFS secondary namenode, 更多信息请参考 Secondary Namenode

Usage:hadoop secondraynamenode  [-checkpoint [force]]   |  [-geteditsize] 

 COMMAND_OPTION

Description 

 -checkPoint [force]

 如果EditLog .size >= fs.checkpoint.size,检查点secondary namenode 。 如果使用了-force,检查点忽略EditLog .size

 -geteditsize

 打印Edit Log大小

tasktracker

运行一个MapReduce的tasktracker节点。

Usage: hadoop tasktracker

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
4个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Wesley13 Wesley13
3年前
SSH公钥无密码认证
1)在master主机上生成密码对sshkeygen–trsa–P''确认一路回车,命令默认会在用户主目录下生成.ssh目录,你们有两密钥对文件:id\_rsa和id\_rsa.pubmaster@hadoop~$ll.ssh/rw.1mastermaster1675Jun
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
3年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
10个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这