一、命令简介

  所有的hadoop命令均由bin/hadoop脚本引发。不指定参数运行hadoop脚本会打印所有命令的描述。实际上很多命令运行的时候虽然可以运行成功但是会有类似如下告警提示,这是因为调用文件系统的命名改为了hdfs,对hadoop文件系统的操作使用hdfs命令和hadoop命令效果是一样的,且建议使用hdfs。

WARNING: Use of this script to execute fsck is deprecated.
WARNING: Attempting to execute replacement “hdfs fsck” instead.

二、使用示例

1、获取命令帮助

[wuhs@s142 ~]$ hadoop --help

2、查看命令版本

[wuhs@s142 ~]$ hadoop version
Hadoop 3.3.1
Source code repository https://github.com/apache/hadoop.git -r a3b9c37a397ad4188041dd80621bdeefc46885f2
Compiled by ubuntu on 2021-06-15T05:13Z
Compiled with protoc 3.7.1
From source with checksum 88a4ddb2299aca054416d6b7f81ca55
This command was run using /home/wuhs/hadoop-3.3.1/share/hadoop/common/hadoop-common-3.3.1.jar

3、指定配置路径

&8195;&8195;hadoop配置文件路径是etc/hadoop目录下,通过hadoop环境变量配置文件可以看到,

[wuhs@s142 hadoop]$ cp -r etc/hadoop hadoopbak
[wuhs@s142 hadoop]$ hadoop --config hadoopbak version
[wuhs@s142 hadoop]$ vim +69 etc/hadoop/hadoop-env.sh

hadoop 查看task hadoop 查看版本_big data


hadoop 查看task hadoop 查看版本_hadoop fsck_02

5、创建一个归档文件

创建存档文件,包括 input,output目录,存档到 /wordcount 下,创建存档文件会生成一个 MapReduce 作业,因此需要有可运行 MapReduce 任务的集群。

[wuhs@s142 hadoop]$ hadoop archive -archiveName test.har -p /wordcount/ input output /wordcount

2021-12-20 22:09:59,146 INFO mapreduce.Job: map 0% reduce 0%
2021-12-20 22:10:06,402 INFO mapreduce.Job: map 100% reduce 0%
2021-12-20 22:10:11,446 INFO mapreduce.Job: map 100% reduce 100%
2021-12-20 22:10:12,495 INFO mapreduce.Job: Job job_1640054187614_0001 completed successfully

6、查看hadoop目录下的文件

[wuhs@s142 hadoop]$ hdfs dfs -ls -R /wordcount

/wordcount/test.har
-rw-r–r-- 2 wuhs supergroup 0 2021-12-20 22:10 /wordcount/test.har/_SUCCESS
-rw-r–r-- 3 wuhs supergroup 730 2021-12-20 22:10 /wordcount/test.har/_index
-rw-r–r-- 3 wuhs supergroup 23 2021-12-20 22:10 /wordcount/test.har/_masterindex
-rw-r–r-- 3 wuhs supergroup 213 2021-12-20 22:10 /wordcount/test.har/part-0

7、运行jar文件

[wuhs@s142 hadoop]$ hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.1.jar pi 15 15
Number of Maps = 10
Samples per Map = 10

Job Finished in 41.243 seconds
Estimated value of Pi is 3.12888888888888888889

8、检查指定目录文件是否受损

[wuhs@s142 hadoop]$ hadoop fsck /wordcount

FSCK ended at Mon Dec 20 22:20:48 EST 2021 in 6 milliseconds
The filesystem under path ‘/wordcount’ is HEALTHY

9、运行运行集群平衡工具

[wuhs@s142 hadoop]$ hadoop balancer

2021-12-20 22:24:09,430 INFO net.NetworkTopology: Adding a new node: /default-rack/192.168.0.143:9866
2021-12-20 22:24:09,430 INFO net.NetworkTopology: Adding a new node: /default-rack/192.168.0.142:9866
2021-12-20 22:24:09,430 INFO net.NetworkTopology: Adding a new node: /default-rack/192.168.0.144:9866
2021-12-20 22:24:09,432 INFO balancer.Balancer: 0 over-utilized: []
2021-12-20 22:24:09,432 INFO balancer.Balancer: 0 underutilized: []
Dec 20, 2021 10:24:09 PM 0 0 B 0 B 0 B 0 hdfs://s142:9000
The cluster is balanced. Exiting…
Dec 20, 2021 10:24:09 PM Balancing took 1.437 seconds

10、获取namenode守护进程的日志级别

[wuhs@s142 hadoop]$ hadoop daemonlog -getlevel 192.168.0.142:9870 info
Connecting to http://192.168.0.142:9870/logLevel?log=info
Submitted Class Name: info
Log Class: org.apache.commons.logging.impl.Log4JLogger
Effective Level: INFO

三、使用语法及参数说明

1、使用语法

用法:hadoop [–config confdir] [COMMAND] [GENERIC_OPTIONS] [COMMAND_OPTIONS]
Hadoop有一个选项解析框架用于解析一般的选项和运行类。

命令选项

描述

–config confdir

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

GENERIC_OPTIONS

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

COMMAND

命令选项S 各种各样的命令和它们的选项会在下面提到。这些命令被分为 用户命令、管理命令两组。

2、参数说明

1)、常规选项参数说明

常规选项

描述

-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)、用户命令参数说明

  • archive
    创建一个hadoop档案文件。
    用法:hadoop archive -archiveName NAME <src>* <dest>
  • distcp
    递归地拷贝文件或目录。
    用法:hadoop distcp <srcurl> <desturl>
  • fs
    运行一个常规的文件系统客户端。
    用法:hadoop fs [GENERIC_OPTIONS] [COMMAND_OPTIONS]
  • fsck
    运行HDFS文件系统检查工具。
    用法:hadoop fsck [GENERIC_OPTIONS] [-move | -delete | -openforwrite] [-files [-blocks [-locations | -racks]]]

命令选项

描述


检查的起始目录。

-move

移动受损文件到/lost+found

-delete

删除受损文件。

-openforwrite

打印出写打开的文件。

-files

打印出正被检查的文件。

-blocks

打印出块信息报告。

-locations

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

-racks

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

  • jar
    运行jar文件。用户可以把他们的Map Reduce代码捆绑到jar文件中,使用这个命令执行。
    用法:hadoop jar [mainClass] args…
  • job
    用于和Map Reduce作业交互和命令。
  • pipes
    运行pipes作业。
  • version
    打印版本信息。
  • CLASSNAME
    hadoop脚本可用于调调用任何类。

3)、管理命令参数说明

  • balancer
    运行集群平衡工具。管理员可以简单的按Ctrl-C来停止平衡过程。
    用法:hadoop balancer [-threshold ]
  • daemonlog
    获取或设置每个守护进程的日志级别。
    用法:hadoop daemonlog -getlevel <host:port> <name>
    用法:hadoop daemonlog -setlevel <host:port> <name> <level>
  • datanode
    运行一个HDFS的datanode。
    用法:hadoop datanode [-rollback]
  • dfsadmin
    运行一个HDFS的dfsadmin客户端。
  • jobtracker
    运行MapReduce job Tracker节点。
    用法:hadoop jobtracker
  • namenode
    运行namenode。
  • secondarynamenode
    运行HDFS的secondary namenode。
    用法:hadoop secondarynamenode [-checkpoint [force]] | [-geteditsize]
  • tasktracker
    运行MapReduce的task Tracker节点。
    用法:hadoop tasktracker

关于用户命令和管理命令更详细的用法和参数说明见官网:https://hadoop.apache.org/docs/r1.0.4/cn/commands_manual.html