2.4 Hadoop集群初体验

本文介绍如何启动Hadoop集群,包括HDFS和YARN集群,通过WebUI界面检查集群状态,以及执行MapReduce程序的具体流程。通过WordCount单词统计和PI计算两个案例,深入理解Hadoop的数据处理能力。
摘要由CSDN通过智能技术生成

任务目的

  • 掌握启动 HDFS 集群和 YARN 集群的方式
  • 进一步熟悉 HDFS 和 YARN 的 Web UI 界面
  • 熟悉执行 MapReduce 程序的流程

任务清单

  • 任务1:启动 Hadoop 集群
  • 任务2:查看进程启动情况
  • 任务3:WordCount 单词统计案例
  • 任务4:PI 案例

详细任务步骤

任务1:启动 Hadoop 集群

  在本平台上,虽然已经为大家搭建好了 Hadoop 伪分布式集群,但是并没有启动,所以在使用集群之前,需要依次启动 HDFS 集群和 YARN 集群,这里我们使用脚本一键启动的方式启动。命令如下所示:

  (1)HDFS集群

  在本机上使用如下方式一键启动HDFS集群:

start-dfs.sh

  效果图如下所示:

Vditor

图1

  (2)YARN集群

  在本机上使用如下方式一键启动YARN集群:

start-yarn.sh

  效果图如下所示:

Vditor

图2

任务2:查看进程启动情况

  在本机上执行 jps 命令,在打印结果中会看到 6 个进程,分别是 NodeManager、SecondaryNameNode 、ResourceManager、Jps、DataNode 和 NameNode,如果出现了这 6 个进程表示进程启动成功。如下图所示:

Vditor

图3

任务3:WordCount 单词统计案例

  (1)首先,通过本机的浏览器访问 http://localhost:50070 或 http://本机IP地址:50070 打开 HDFS 的 Web UI 界面。其次,选择 Utilities——》Browse the file system 查看文件系统里的数据文件,可以看到新建的 HDFS 上没有任何数据文件,如下图所示:

Vditor

图4

  (2)在本机的/root目录下,新建一个名为 data 的文件夹,然后再执行 “vim word.txt” 指令新建一个 word.txt 文本文件,并编写一些单词内容,如下图所示:

Vditor

图5

  (3)接着,在 HDFS 上创建 /wordcount/input 目录,并将 word.txt 文件上传至该目录下,具体指令如下所示:

 hadoop fs -mkdir -p /wordcount/input
 hadoop fs -put /root/data/word.txt /wordcount/input

  效果如下所示:

Vditor

图6

  上述指令是 Hadoop 提供的进行文件系统操作的 HDFS Shell 相关指令,此处不必深究具体使用,在下一章会进行详细说明。

  执行完上述指令后,再次查看 HDFS 的 Web UI 界面,会发现 /wordcount/input 目录创建成功并上传了指定的 word.txt 文件,如下图所示:

Vditor

图7

  (4)进入$HADOOP_HOME/share/hadoop/mapreduce/ 目录下,使用ll指令查看文件夹内容,如下图所示:

Vditor

图8

  从上图可以看出,在该文件夹下自带了很多 Hadoop 的 MapReduce 示例程序。其中,hadoop-mapreduce-examples-2.7.7.jar 包中包含了计算单词个数计算PI值等功能的程序。

  因此,这里可以直接使用 hadoop-mapreduce-examples-2.7.7.jar 示例包,对 HDFS 上的 word.txt 文件进行单词统计,在 jar 包位置执行如下命令:

hadoop jar hadoop-mapreduce-examples-2.7.7.jar wordcount /wordcount/input/word.txt /wordcount/output

  上述指令中:

  • hadoop jar hadoop-mapreduce-examples-2.7.7.jar :表示执行一个Hadoop的jar包程序;
  • wordcount:表示执行jar包程序中的单词统计功能;
  • /wordcount/input/word.txt:表示进行单词统计的HDFS文件路径;
  • /wordcount/output:表示进行单词统计后的输出HDFS结果路径。

  执行完上述指令后,示例包中的 MapReduce 程序开始执行,效果图如下所示:

Vditor

图9

  也可以通过YARN集群的Web UI界面查看运行状态,在本机的浏览器上访问 http://localhost:8088 或 http://本机IP地址:8088 。效果图如下所示:

Vditor

图10

  (5)在“单词统计”示例程序执行成功后,再次刷新并查看 HDFS 的 Web UI 界面,效果如下图所示:

Vditor

图11

  从上图可以看出,MapReduce 程序执行成功后,在 HDFS 上自动创建了指定的输出目录 /wordcount/output,并且输出了 _SUCCESS 和 part-r-00000 结果文件。其中, _SUCCESS 文件用于表示此次任务成功执行的标识,而 part-r-00000 表示单词统计的结果。

  (6)接着,我们使用 HDFS Shell 的相关指令查看 part-r-00000 的内容,具体指令如下所示:

hadoop fs -cat /wordcount/output/part-r-00000

  效果如下图所示:

Vditor

图12

  从上图可以看出,MapReduce 示例程序成功统计出了 /wordcount/input/word.txt 文本中的单词数量,并进行了结果输出。

任务4:PI 案例

  进入 $HADOOP_HOME/share/hadoop/mapreduce/ 目录下,使用如下指令计算 PI 值:

hadoop jar hadoop-mapreduce-examples-2.7.7.jar pi 5 5

  上述指令中:

  • hadoop jar hadoop-mapreduce-examples-2.7.7.jar :表示执行一个Hadoop的jar包程序;
  • pi:表示执行jar包程序中计算PI值的功能;
  • 第1个5:表示运行10次map任务;
  • 第2个5:表示每个map任务,投掷的次数。

  执行完上述指令后,示例包中的 MapReduce 程序开始执行,效果图如下所示:

Vditor

图13

  执行结果如下所示:

Vditor

图14

  从上图可以看出,MapReduce 程序执行成功后,计算出了 PI 值。但是我们发现其计算结果与实际 PI 值有一定的偏差,若是想要计算更精切的 PI 值,我们可以将执行命令中的2个数值增大:

hadoop jar hadoop-mapreduce-examples-2.7.7.jar pi 100 10000

  执行结果:

Vditor

图15

  从结果可以验证,给出的数值越大,计算的 PI 值越精确,当然程序运行时间也会越长。若是想要提前结束程序,可以使用 ctrl+c 终止当前程序。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值