Hadoop基本命令

来源:互联网 发布:各行业数据查询 编辑:程序博客网 时间:2024/06/05 19:04

目录

<一启动/暂停操作>.2

1,启动Hadoop.2

2,关闭Hadoop.2

3,打印版本信息。...2

4、hadoop脚本可用于调试任何类...2

<二>,文件操作...3

1、格式化一个新的分布式文件系统:...3

2、查看指定目录下内容...3

3、查看指定目录下的所有文件(包括子目录下的文件)3

4、打开某个已存在文件...3

5、将本地文件存储至hadoop.3

6、将本地文件夹存储至hadoop.3

7、将hadoop上某个文件down至本地已有目录下...3

8、删除hadoop上指定文件...3

9、删除hadoop上指定文件夹(包含子目录等)...3

10、在hadoop指定目录内创建新目录...4

11、在hadoop指定目录下新建一个空文件...4

12、将hadoop上某个文件重命名...4

13、将hadoop指定目录下所有内容保存为一个文件,同时down至本地...4

14、在分配的NameNode上,运行下面的命令启动HDFS:...4

15、在分配的NameNode上,执行下面的命令停止HDFS:...4

16、列出所有Hadoop Shell支持的命令...4

17、显示关于某个命令的详细信息...4

18、使用-upgrade选项运行新的版本...5

19、如果需要退回到老版本,就必须停止集群并且部署老版本...5

20、递归地拷贝文件或目录...5

21、创建一个hadoop档案文件...5

<三>MapReduceJob操作...5

1, 运行一个"作业.jar"的MapReduce Job. 5

2、在分配的JobTracker上,运行下面的命令启动Map/Reduce:...5

3、在分配的JobTracker上,运行下面的命令停止Map/Reduce:...5

4、将正在运行的hadoop作业kill掉...5

5、用户可使用以下命令在指定路径下查看历史日志汇总...6

6、关于作业的更多细节,比如成功的任务,以及对每个任...6

<四>DFSAdmin.6

1、显式地将HDFS置于安全模式...6

2、退出安全模式...6

3、将集群置于安全模式...6

4、显示Datanode列表...6

5、使Datanode节点 datanodename退役...6

6、bin/hadoop dfsadmin -help 命令能列出所有当前支持的命令。比如:... 6

7、在升级之前,管理员需要用(升级终结操作)命令删除存在的备份文件...7

8、能够知道是否需要对一个集群执行升级终结操作。...7

9、运行一个HDFS的dfsadmin客户端。...7

<五>其它...8

1、运行pipes作业...8

2、用于和Map Reduce作业交互和命令(jar)8

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

4、运行HDFS的secondary namenode。... 10

5、运行一个HDFS的datanode.10

6、运行MapReduce job Tracker节点(jobtracker)。... 10

7、运行MapReduce的task Tracker节点。... 10

8、运行HDFS文件系统检查工具(fsck tools)10

9、运行集群平衡工具。管理员可以简单的按Ctrl-C来停止平衡过程(balancer)10

11、支持配额:...11

12、了解更多,...11

学习资料:12

<hadoop命令大全>Royce Wang专栏... 12

<HADOOP基本操作命令>逖寒的世界...12

<hadoop常用命令 >鑫的技术平台...12

 

<一启动/暂停操作>

1,启动Hadoop

执行bin/start-all.sh

2,关闭Hadoop

执行bin/stop-all.sh

3,打印版本信息。

执行bin/hadoopversion

4、hadoop脚本可用于调试任何类

 用法:bin/hadoopCLASSNAME

            运行名字为CLASSNAME的类。

 <二>,文件操作

1、格式化一个新的分布式文件系统:

$ bin/hadoop namenode -format

2、查看指定目录下内容

bin/hadoop dfs –ls [文件目录]

3、查看指定目录下的所有文件(包括子目录下的文件)

bin/hadoop fs -lsr [文件目录]

4、打开某个已存在文件

bin/hadoop dfs –cat [file_path]

5、将本地文件存储至hadoop

hadoop fs –put [本地地址] [hadoop目录]

6、将本地文件夹存储至hadoop

hadoop fs –put [本地目录] [hadoop目录

7、将hadoop上某个文件down至本地已有目录下

hadoop fs -get [文件目录] [本地目录]

8、删除hadoop上指定文件

hadoop fs –rm [文件地址]

9、删除hadoop上指定文件夹(包含子目录等)

hadoop fs –rm [目录地址]

10、在hadoop指定目录内创建新目录

hadoop fs –mkdir /user/t

11、在hadoop指定目录下新建一个空文件

hadoop  fs  -touchz /user/new.txt

12、将hadoop上某个文件重命名

hadoop  fs  –mv /user/test.txt  /user/ok.txt  (将test.txt重命名为ok.txt

13、将hadoop指定目录下所有内容保存为一个文件,同时down至本地

hadoop dfs –getmerge /user /home/t

14、在分配的NameNode上,运行下面的命令启动HDFS:

  $ bin/start-dfs.sh

  bin/start-dfs.sh脚本会参照NameNode${HADOOP_CONF_DIR}/slaves文件的内容,在所有列出的slave上启动DataNode守护进程。

15、在分配的NameNode上,执行下面的命令停止HDFS:

  $ bin/stop-dfs.sh
  bin/stop-dfs.sh
脚本会参照NameNode${HADOOP_CONF_DIR}/slaves文件的内容,在所有列出的slave上停止DataNode守护进程。

16、列出所有Hadoop Shell支持的命令

  $ bin/hadoop fs -help

17、显示关于某个命令的详细信息

  $ bin/hadoop fs -helpcommand-name

18、使用-upgrade选项运行新的版本

  $ bin/start-dfs.sh -upgrade

19、如果需要退回到老版本,就必须停止集群并且部署老版本的Hadoop,用回滚选项启动集群

  $ bin/start-dfs.h -rollback

20、递归地拷贝文件或目录

  $ hadoop distcp<srcurl> <desturl>

                        srcurl      Url

                        desturl    目标Url

21、创建一个hadoop档案文件

  $ hadoop archive-archiveName NAME <src>* <dest>

                        -archiveNameNAME  要创建的档案的名字。

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

                        dest保存档案文件的目标目录。

<三>MapReduceJob操作

1, 运行一个"作业.jar"的MapReduceJob

hadoop jar 作业.jar  [jobMainClass] [jobArgs]

2、在分配的JobTracker上,运行下面的命令启动Map/Reduce:

  $ bin/start-mapred.sh

  bin/start-mapred.sh脚本会参照JobTracker${HADOOP_CONF_DIR}/slaves文件的内容,在所有列出的slave上启动TaskTracker守护进程。

3、在分配的JobTracker上,运行下面的命令停止Map/Reduce:

 $ bin/stop-mapred.sh

  bin/stop-mapred.sh脚本会参照JobTracker${HADOOP_CONF_DIR}/slaves文件的内容,在所有列出的slave上停止TaskTracker守护进程。

 4、将正在运行的hadoop作业kill掉

hadoop job –kill  [job-id]

5、用户可使用以下命令在指定路径下查看历史日志汇总

  $ bin/hadoop job-history output-dir
这条命令会显示作业的细节信息,失败和终止的任务细节。

6、关于作业的更多细节,比如成功的任务,以及对每个任务的所做的尝试次数等可以用下面的命令查看

  $ bin/hadoop job -historyall output-dir

<四>DFSAdmin

1、显式地将HDFS置于安全模式

  $ bin/hadoop dfsadmin -safemode

2、退出安全模式

  $ bin/hadoop dfsadmin-safemode

3、将集群置于安全模式     

  $ bin/hadoop dfsadmin-safemode enter

4、显示Datanode列表

  $ bin/hadoop dfsadmin-report

5、使Datanode节点 datanodename退役 

  $ bin/hadoop dfsadmin-decommission datanodename

6、bin/hadoop dfsadmin -help 命令能列出所有当前支持的命令。比如:

    * -report:报告HDFS的基本统计信息。有些信息也可以在NameNode Web服务首页看到。

    * -safemode:虽然通常并不需要,但是管理员的确可以手动让NameNode进入或离开安全模式。

    *-finalizeUpgrade:删除上一次升级时制作的集群备份。

7、在升级之前,管理员需要用(升级终结操作)命令删除存在的备份文件

  $ bin/hadoop dfsadmin -finalizeUpgrade

8、能够知道是否需要对一个集群执行升级终结操作。

  $ bin/hadoop dfsadmin-upgradeProgress status

9、运行一个HDFS的dfsadmin客户端。

用法: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]]

命令选项                                                       描述

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

-safemode enter | leave | get | wait                               安全模式维护命令。安全模式是Namenode的一个状态,这种状态下,Namenode

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

2. 不复制或删除块

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

-refreshNodes                                     重新读取hostsexclude文件,更新允许连到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]     显示给定命令的帮助信息,如果没有给定命令,则显示所有命令的帮助信息。

<五>其它

1、运行pipes作业

用法: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>]
命令选项                             描述

-conf <path>                             作业的配置
-jobconf <key=value>, <key=value>, ...     
增加/覆盖作业的配置项

-input <path>                             输入目录

-output<path>                        输出目录

-jar <jar file>                     Jar文件名

-inputformat <class>                     InputFormat

-map <class>                             JavaMap

-partitioner <class>                     JavaPartitioner

-reduce <class>                     JavaReduce

-writer <class>                     JavaRecordWriter

-program <executable>                     可执行程序的URI

-reduces <num>                             reduce个数

2、用于和MapReduce作业交互和命令(jar)

用法: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>]

命令选项                                                   描述
-submit <job-file>                                           
提交作业
-status <job-id>                                            
打印mapreduce完成百分比和所有计数器。
-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]    -listall                                      显示所有作业。-list只显示将要完成的作业。
-kill-task <task-id>                                           
杀死任务。被杀死的任务不会不利于失败尝试。

-fail-task <task-id>                                           使任务失败。被失败的任务会对失败尝试不利。

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

用法:hadoop namenode[-format] | [-upgrade] | [-rollback] | [-finalize] | [-importCheckpoint]

命令选项                            描述

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

-upgrade                            分发新版本的hadoop后,namenode应以upgrade选项启动。
-rollback                            
namenode回滚到前一版本。这个选项要在停止集群,分发老的hadoop版本后使用。

-finalize                            finalize会删除文件系统的前一状态。最近的升级会被持久化,rollback选项将再
                                        
不可用,升级终结操作之后,它会停掉namenode
-importCheckpoint                     
从检查点目录装载镜像并保存到当前检查点目录,检查点目录由fs.checkpoint.dir指定。

4、运行HDFS的secondarynamenode。

用法:hadoopsecondarynamenode [-checkpoint [force]] | [-geteditsize]

命令选项                            描述

-checkpoint [force]                    如果EditLog的大小 >= fs.checkpoint.size,启动Secondarynamenode的检查点

                                        过程。如果使用了-force,将不考虑EditLog的大小。
-geteditsize                            
打印EditLog大小。

5、运行一个HDFS的datanode

用法:hadoop datanode[-rollback]

命令选项                                      描述

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

6、运行MapReducejob Tracker节点(jobtracker)。

用法:hadoopjobtracker

7、运行MapReduce的taskTracker节点。

 用法:hadooptasktracker

8、运行HDFS文件系统检查工具(fscktools)

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

命令选项    描述

<path>      检查的起始目录。

-move            移动受损文件到/lost+found
-delete     
删除受损文件。

-openforwrite     打印出写打开的文件。

-files            打印出正被检查的文件。

-blocks     打印出块信息报告。

-locations     打印出每个块的位置信息。

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

9、运行集群平衡工具。管理员可以简单的按Ctrl-C来停止平衡过程(balancer)
 用法:hadoop balancer[-threshold <threshold>]
命令选项                            描述
-threshold <threshold>                    
磁盘容量的百分比。这会覆盖缺省的阀值。
10、获取或设置每个守护进程的日志级别(daemonlog)。

用法:hadoop daemonlog-getlevel <host:port> <name>
用法:hadoop daemonlog -setlevel <host:port> <name><level>
命令选项                                       描述
-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>

11、支持配额:

    * fs -count -q<directory>...<directory>

      使用-q选项,会报告每个目录设置的配额,以及剩余配额。如果目录没有设置配额,会报告noneinf

12、了解更多,

1.         进入HADOOP_HOME目录。

2.         执行sh bin/hadoop

我们可以看到更多命令的说明信息:

Usage: hadoop [--config confdir] COMMAND

where COMMAND is one of:

  namenode-format     format the DFS filesystem

  secondarynamenode    runthe DFS secondary namenode

  namenode             runthe DFS namenode

  datanode             runa DFS datanode

  dfsadmin             runa DFS admin client

  fsck                 runa DFS filesystem checking utility

  fs                   runa generic filesystem user client

  balancer             runa cluster balancing utility

  jobtracker           runthe MapReduce job Tracker node

  pipes                runa Pipes job

  tasktracker          runa MapReduce task Tracker node

  job                  manipulateMapReduce jobs

  queue                getinformation regarding JobQueues

  version              printthe version

  jar<jar>            runa jar file

  distcp <srcurl><desturl> copy file or directories recursively

  archive -archiveName NAME<src>* <dest> create a hadoop archive

  daemonlog            get/setthe log level for each daemon

 or

  CLASSNAME            runthe class named CLASSNAME

Most commands print help when invokedw/o parameters.

 

 

学习资料:

<hadoop命令大全>RoyceWang专栏

<HADOOP基本操作命令>逖寒的世界

<hadoop常用命令 >鑫的技术平台

0 0
原创粉丝点击