且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

《Hadoop与大数据挖掘》——2.3 Hadoop集群命令

更新时间:2022-10-07 22:53:21

本节书摘来自华章计算机《Hadoop与大数据挖掘》一书中的第2章,第2.3节,作者 张良均 樊哲 位文超 刘名军 许国杰 周龙 焦正升,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

2.3 Hadoop集群命令

一般操作Hadoop集群都是使用相关的Hadoop命令,比如文件上传、下载、删除,文件夹新建、删除、拷贝等;又或者提交MapReduce任务并执行、查看MapReduce任务执行状态等。那么Hadoop集群包含的相关命令有哪些呢?

大多数Hadoop集群的相关命令类别如表2-3所示。

《Hadoop与大数据挖掘》——2.3 Hadoop集群命令
《Hadoop与大数据挖掘》——2.3 Hadoop集群命令
《Hadoop与大数据挖掘》——2.3 Hadoop集群命令

下面针对每种集群命令,介绍其中常用的命令,为后面的操作打下基础。

2.3.1 HDFS常用命令hdfs dfs

在讲解这个命令前,先对hdfs dfs、hadoop fs、hadoop dfs这3个命令进行区分。

《Hadoop与大数据挖掘》——2.3 Hadoop集群命令

该命令的操作在代码清单2-18中列出。

《Hadoop与大数据挖掘》——2.3 Hadoop集群命令
《Hadoop与大数据挖掘》——2.3 Hadoop集群命令
《Hadoop与大数据挖掘》——2.3 Hadoop集群命令

其中斜体加粗的命令是比较常用的,一般可以根据命令名称推断出该命令的功能及用法。同时,也可以使用-usage命令查看某个具体名,如代码清单2-19所示。

《Hadoop与大数据挖掘》——2.3 Hadoop集群命令

这里,针对常用的命令做简单介绍,如表2-4所示。

《Hadoop与大数据挖掘》——2.3 Hadoop集群命令

2.3.2 动手实践:hdfs dfs命令实战

在了解了一些Hadoop HDFS相关命令后,即可进行实验,加深对该类命令的认识。

实验步骤如下:

1)root账号登录master机器终端;

2)上传/root/anaconda-ks.cfg 文件到HDFS的/user/root/目录下;

3)复制或移动HDFS中/user/root/anaconda-ks.cfg 到/user/root/tmp/目录下;

4)下载HDFS中的/user/root/tmp/anaconda-ks.cfg 文件到linux /tmp目录下;

5)删除/user/root/tmp目录。

思考:

1)如果使用的不是root账号登录,那么可以操作吗?如何操作?

2)删除/user/root/tmp目录可以使用哪些命令?不同命令有什么区别?

2.3.3 MapReduce常用命令mapred job

MapReduce常用命令就是job相关命令,该命令相关参数及描述如代码清单2-20所示。

《Hadoop与大数据挖掘》——2.3 Hadoop集群命令

其中比较常用的描述如下。

《Hadoop与大数据挖掘》——2.3 Hadoop集群命令

2.3.4 YARN常用命令yarn jar

YARN常用命令就是yarn jar命令,即提交一个MapReduce任务的命令。使用该命令可以直接运行一个MapReduce任务。该命令描述如代码清单2-21所示。

《Hadoop与大数据挖掘》——2.3 Hadoop集群命令

从上面的描述中可以看出,其实调用yarn jar命令还是比较简单的,只需要给出要执行的jar文件路径、可选的主类,以及主类对应的输入参数即可。

2.3.5 动手实践:运行MapReduce任务

实验步骤如下:

1)上传/root/anaconda-ks.cfg文件到HDFS文件系统/user/root目录;

2)使用yarn jar的方式提交任务,其中,

《Hadoop与大数据挖掘》——2.3 Hadoop集群命令

3)查看输出运行结果;

4)使用mapred job命令查看任务状态及对应日志输出;

5)再次执行任务,查看输出信息;

6)产生一个大数据文件,上传到HDFS,使用该大数据文件执行单词计数MapReduce任务,在执行到一半后,使用mapred job的kill命令,杀死该任务,查看相关输出信息。

思考:

1)执行第5步的时候会报错吗?报什么错?怎么解决?

2)可以在Hadoop IDE中直接提交Job吗?如果可以怎么做?如果不可以,为什么?