一步一步跟我学习hadoop(3)----hadoop命令手册

上节我们学习了hadoop的eclipse插件安装和wordcount程序的运行,本篇对hadoop命令进行一个系统的了解

hadoop的命令通过HADOOP_HOME\bin\hadoop命令触发,我们可以在命令行执行

hadoop --help

来提示用户的命令输入。

hadoop命令分为两大类:用户命令和管理命令,以下是hadoop命令的详细解读

本篇博客是摘自官网http://hadoop.apache.org/docs/r1.0.4/cn/commands_manual.html

0概述:

所有的Hadoop命令均由bin/hadoop脚本引发。不指定参数运行hadoop脚本会打印所有命令的描述。

The general command line syntax is:

hadoop [--config confdir][COMMAND][GENERIC_OPTIONS][COMMAND_OPTIONS]

命令选项描述:


命令选项


描述


--config confdir


覆盖缺省配置目录。缺省是${HADOOP_HOME}/conf


GENERIC_OPTIONS


多个命令都支持的通用选项。


COMMAND


各种各样的命令被分为用户命令和管理命令两组。


Hadoop


有一个选项解析框架用于解析一般的选项和运行类。

1常规选项:

下面的选项被dfsadmin,fs,fsck,和job支持。应用程序要实现Tool接口来支持常规选项。


GENERIC_OPTION


Description


-conf<configuration file>


指定应用程序的配置文件


-D <property=value>


为指定property指定值value


-fs <local|namenode:port>


指定namenode


-jt <local|jobtracker:port>


指定job tracker,只适用于job


-files <逗号分隔的文件列表>


指定要拷贝到map reduce集群的文件的逗号分隔的列表,只是用与job


-libjars <逗号分隔的jar列表>


指定要包含到classpath中的jar文件的逗号分隔的列表。 只适用于job


-archives <逗号分隔的archive列表>


指定要被解压到计算节点上的档案文件的逗号分割的列表。 只适用于job

2用户命令:

Hadoop集群用户的常用命令

2.1 archive


用法编号


命令样式


功能


1


hadoop archive –archiveName <src>* <dest>


创建一个hadoop档案文件

用法1:


命令选项


描述


-archiveName


要创建的档案的名字


src


文件系统的路径名,和通常含正则表达的一样


Dest


保存档案文件的目录目标

2.2 distcp


用法编号


命令样式


功能


2


hadoop distcp <srcurl>  <desturl>


递归地拷贝文件或目录

用法2:


命令选项


描述


srcurl


文件或目录的源url


desturl


文件或目录的目标url

2.3 fs


用法编号


命令样式


功能


3


hadoop fs [GENERIC_OPTIONS] [COMMAND_OPTIONS]


运行一个常规的文件系统客户端

2.4 fsck


用法编号


命令样式


功能


4


hadoop fsck [GENERIC_OPTIONS]
<path> [-move | -delete | -openforwrite] [-files [-blocks [-locations | -racks]]]


运行HDFS文件系统检查工具

用法4:


命令选项


描述


<path>


检查的起始目录


-move


移动受损文件到/lost+found


-delete


删除受损文件


-openforwrite


打印出写打开的文件


-files


打印出正被检查的文件


-blocks


打印出块信息报告


-locations


打印出每个块的位置信息


-racks


打印出data-node的网络拓扑结构

2.5 jar


用法编号


命令样式


功能


5


hadoop jar <jar> [mainClass] args


运行jar文件

用户可以把他们的Map Reduce代码捆绑到jar文件中,使用这个命令执行

2.6 job


用法编号


命令样式


功能


6


hadoop 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>]


运行jar文件

用法6


命令选项


描述


-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>


-history <jobOutputDir> 打印作业的细节、失败及被杀死原因的细节。更多的关于一个作业的细节比如成功的任务,做过的任务尝试等信息可以通过指定[all]选项查看。


-list [all]


-list all显示所有作业。-list只显示将要完成的作业。


-kill-task <task-id>


杀死任务。被杀死的任务不会不利于失败尝试。


-fail-task <task-id>


使任务失败。被失败的任务会对失败尝试不利。

2.7 pipes


用法编号


命令样式


功能


7


hadoop 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>]


运行pipes作业

用法7


命令选项


描述


-conf <path>


作业的配置


-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个数

2.8 version


用法编号


命令样式


功能


8


hadoop version


打印版本信息

2.9 CLASSNAME


用法编号


命令样式


功能


9


hadoop CLASSNAME


hadoop脚本可用于调调用任何类

3管理命令

hadoop集群管理员常用的命令。

3.1 balancer


用法编号


命令样式


功能


10


hadoop balancer [-threshold <threshold>]


运行集群平衡工具

管理员可以简单的按Ctrl-C来停止平衡过程。

用法10:


命令选项


描述


-threshold <threshold>


磁盘容量的百分比。这会覆盖缺省的阀值。

3.2 daemonlog


用法编号


命令样式


功能


11


hadoop daemonlog -getlevel <host:port> <name>


获取或设置每个守护进程的日志级别


12


hadoop daemonlog -setlevel <host:port> <name> <level>


同上

用法11,,12:


命令选项


描述


-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>

3.3 datanode


用法编号


命令样式


功能


13


hadoop datanode [-rollback]


运行一个HDFS的datanode。


命令选项


描述


-rollback


将datanode回滚到前一个版本。这需要在停止datanode,分发老的hadoop版本之后使用。

3.4 dfsadmin


用法编号


命令样式


功能


14


hadoop dfsadmin [GENERIC_OPTIONS]
[-report] [-safemode enter | leave | get | wait] [-refreshNodes] [-finalizeUpgrade] [-upgradeProgress status | details | force] [-metasave filename] [-setQuota <quota> <dirname>...<dirname>] [-clrQuota <dirname>...<dirname>] [-help [cmd]]


运行一个HDFS的dfsadmin客户端


命令选项


描述


- report


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


-safemode enter| leave| get | wait


安全模式维护命令。安全模式是Namenode的一个状态,这种状态下,Namenode

1. 不接受对名字空间的更改(只读)

2. 不复制或删除块

Namenode会在启动时自动进入安全模式,当配置的块最小百分比数满足最小的副本数条件时,会自动离开安全模式。安全模式可以手动进入,但是这样的话也必须手动关闭安全模式。


-refreshNodes


重新读取hosts和exclude文件,更新允许连到Namenode的或那些需要退出或入编的Datanode的集合。


-finalizeUpgrade


终结HDFS的升级操作。Datanode删除前一个版本的工作目录,之后Namenode也这样做。这个操作完结整个升级过程。


-upgradeProgress status|details | force


请求当前系统的升级状态,状态的细节,或者强制升级操作进行。


-metasave filename


保存Namenode的主要数据结构到hadoop.log.dir属性指定的目录下的<filename>文件。对于下面的每一项,<filename>中都会一行内容与之对应

1. Namenode收到的Datanode的心跳信号

2. 等待被复制的块

3. 正在被复制的块

4. 等待被删除的块


-setQuota <quota> <dirname>...<dirname>


为每个目录 <dirname>设定配额<quota>。目录配额是一个长整型整数,强制限定了目录树下的名字个数。

命令会在这个目录上工作良好,以下情况会报错:

1. N不是一个正整数,或者

2. 用户不是管理员,或者

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

4. 目录会马上超出新设定的配额。


-clrQuota <dirname>...<dirname>


为每一个目录<dirname>清除配额设定。

命令会在这个目录上工作良好,以下情况会报错:

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

2. 用户不是管理员。

如果目录原来没有配额不会报错。


-help [cmd]


显示给定命令的帮助信息,如果没有给定命令,则显示所有命令的帮助信息。

3.5 jobtracker


用法编号


命令样式


功能


15


hadoop jobtracker


运行MapReduce job Tracker节点

3.6 namenode


用法编号


命令样式


功能


16


hadoop namenode [-format] | [-upgrade] | [-rollback] | [-finalize] | [-importCheckpoint]


运行namenode。有关升级,回滚,升级终结的更多信息请参考升级和回滚


命令选项


描述


-format


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


-upgrade


分发新版本的hadoop后,namenode应以upgrade选项启动。


-rollback


将namenode回滚到前一版本。这个选项要在停止集群,分发老的hadoop版本后使用。


-finalize


finalize会删除文件系统的前一状态。最近的升级会被持久化,rollback选项将再不可用,升级终结操作之后,它会停掉namenode。


-importCheckpoint


从检查点目录装载镜像并保存到当前检查点目录,检查点目录由fs.checkpoint.dir指定。

3.7 secondarynamenode


用法编号


命令样式


功能


17


hadoop secondarynamenode [-checkpoint [force]] | [-geteditsize]


运行HDFS的secondary namenode。


命令选项


描述


-checkpoint [force]


如果EditLog的大小 >= fs.checkpoint.size,启动Secondary namenode的检查点过程。 如果使用了-force,将不考虑EditLog的大小。


-geteditsize


打印EditLog大小。

3.8 tasktracker


用法编号


命令样式


功能


18


hadoop tasktracker


运行MapReduce的task Tracker节点

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-10 21:05:46

一步一步跟我学习hadoop(3)----hadoop命令手册的相关文章

一步一步跟我学习lucene(19)---lucene增量更新和NRT(near-real-time)Query近实时查询

这两天加班,不能兼顾博客的更新,请大家见谅. 有时候我们创建完索引之后,数据源可能有更新的内容,而我们又想像数据库那样能直接体现在查询中,这里就是我们所说的增量索引.对于这样的需求我们怎么来实现呢?lucene内部是没有提供这种增量索引的实现的: 这里我们一般可能会想到,将之前的索引全部删除,然后进行索引的重建.对于这种做法,如果数据源的条数不是特别大的情况下倒还可以,如果数据源的条数特别大的话,势必会造成查询数据耗时,同时索引的构建也是比较耗时的,几相叠加,势必可能造成查询的时候数据缺失的情况

一步一步跟我学习lucene(9)---lucene搜索之拼写检查和相似度查询提示(spellcheck)

suggest应用场景 用户的输入行为是不确定的,而我们在写程序的时候总是想让用户按照指定的内容或指定格式的内容进行搜索,这里就要进行人工干预用户输入的搜索条件了:我们在用百度谷歌等搜索引擎的时候经常会看到按键放下的时候直接会提示用户是否想搜索某些相关的内容,恰好lucene在开发的时候想到了这一点,lucene提供的suggest包正是用来解决上述问题的. suggest包联想词相关介绍 suggest包提供了lucene的自动补全或者拼写检查的支持: 拼写检查相关的类在org.apache.

一步一步跟我学习lucene(13)---lucene搜索之自定义排序的实现原理和编写自己的自定义排序工具

自定义排序说明 我们在做lucene搜索的时候,可能会需要排序功能,虽然lucene内置了多种类型的排序,但是如果在需要先进行某些值的运算然后在排序的时候就有点显得无能为力了: 要做自定义查询,我们就要研究lucene已经实现的排序功能,lucene的所有排序都是要继承FieldComparator,然后重写内部实现,这里以IntComparator为例子来查看其实现: IntComparator相关实现 其类的声明为 public static class IntComparator exte

自己动手一步一步安装hadoop(含编译hadoop的native本地包)

最近项目需要用到hadoop,边学习边应用,第一步无疑是安装hadoop,我安装的是hadoop-2.4.1,下面是详细步骤,做备忘以后查看 一.下载依赖软件 1.java hadoop官网说明只支持java 6和7 ,下载最新的java7 http://download.oracle.com/otn-pub/java/jdk/7u65-b17/jdk-7u65-linux-x64.tar.gz 2.maven 从maven官网下载http://maven.apache.org/download

一步一步跟我学习lucene(14)---lucene搜索之facet查询原理和facet查询实例

Facet说明 我们在浏览网站的时候,经常会遇到按某一类条件查询的情况,这种情况尤以电商网站最多,以天猫商城为例,我们选择某一个品牌,系统会将该品牌对应的商品展示出来,效果图如下: 如上图,我们关注的是品牌,选购热点等方面,对于类似的功能我们用lucene的term查询当然可以,但是在数据量特别大的情况下还用普通查询来实现显然会因为FSDirectory.open等耗时的操作造成查询效率的低下,同时普通查询是全部document都扫描一遍,这样显然造成了查询效率低: lucene提供了facet

一步一步跟我学习lucene(12)---lucene搜索之分组处理group查询

grouping介绍 我们在做lucene搜索的时候,可能会用到对某个条件的数据进行统计,比如统计有多少个省份,在sql查询中我们可以用distinct来完成类似的功能,也可以用group by来对查询的列进行分组查询.在lucene中我们实现类似的功能怎么做呢,比较费时的做法时我们查询出所有的结果,然后对结果里边的省份对应的field查询出来,往set里边放,显然这种做法效率低,不可取:lucene为了解决上述问题,提供了用于分组操作的模块group,group主要用户处理不同lucene中含

一步一步跟我学习lucene(11)---lucene搜索之高亮显示highlighter

highlighter介绍 这几天一直加班,博客有三天没有更新了,望见谅:我们在做查询的时候,希望对我们自己的搜索结果与搜索内容相近的地方进行着重显示,就如下面的效果 这里我们搜索的内容是"一步一步跟我学习lucene",搜索引擎展示的结果中对用户的输入信息进行了配色方面的处理,这种区分正常文本和输入内容的效果即是高亮显示: 这样做的好处: 视觉上让人便于查找有搜索对应的文本块: 界面展示更友好: lucene提供了highlighter插件来体现类似的效果: highlighter对

一步一步跟我学习lucene(10)---lucene搜索之联想词提示之suggest原理和应用

昨天了解了suggest包中的spell相关的内容,主要是拼写检查和相似度查询提示: 今天准备了解下关于联想词的内容,lucene的联想词是在org.apache.lucene.search.suggest包下边,提供了自动补全或者联想提示功能的支持: InputIterator说明 InputIterator是一个支持枚举term,weight,payload三元组的供suggester使用的接口,目前仅支持AnalyzingSuggester,FuzzySuggester andAnalyz

一步一步跟我学习lucene(7)---lucene搜索之IndexSearcher构建过程

最近一直在写一步一步跟我学习lucene系列(http://blog.csdn.net/wuyinggui10000/article/category/3173543),个人的博客也收到了很多的访问量,谢谢大家的关注,这也是对我个人的一个激励,O(∩_∩)O哈哈~,个人感觉在博客的编写过程中自己收获了很多,我会一直继续下去,在工作的过程中自己也会写出更多类似系列的博客,也算是对自己只是的一种积累: IndexSearcher 搜索引擎的构建分为索引内容和查询索引两个大方面,这里要介绍的是luce