概要说明

大数据学习03之hadoop第一个MR程序wordcount单词统计
wordcount运行以后在yarn上的job任务。

新建hadoop客户端

我们可以使用集群中任何一台机器作为客户端,这样来说有几个弊端,第一hadoop总是优先读写离自己最近的节点,然后同步到其他的节点,这样导致该节点的压力倍增,第二容易误删文件,可能导致节点不可用,等等原因,现在我们新建一个虚拟机专门用作客户端,这个很容易,我们直接在vbox里面clone一个虚拟机就可以了,详见大数据学习01之基于vbox 6.0搭建ubuntu 18.04伪集群#clone多个虚拟机

我clone的虚拟名:Ubuntu_client,主机名为:hadoop_client,用户名还是hadoop,由于是clone,这个客户机Java和Hadoop的环境跟集群的任何一个节点的配置一样,就不用再配置了,如果你是新建的,hadoop的版本要跟集群保持一致,还需要在core-site.xml配置fs.default.name,用于指定NameNode,把集群上的这个值复制过来就行了。

运行wordcount

登录hadoop_client

创建HDFS数据目录

创建一个目录,用于保存MapReduce任务的输入文件:

hadoop fs -mkdir -p /data/wordcount

创建一个目录,用于保存MapReduce任务的输出文件:

hadoop fs -mkdir /output

查看刚刚创建的两个目录:

hadoop fs -ls /

创建一个单词文件,并上传到HDFS

创建的单词文件如下:

cat myword.txt
leaf yyh
yyh xpleaf
katy ling
yeyonghao leaf
xpleaf katy

上传该文件到HDFS中:

hadoop fs -put myword.txt /data/wordcount

在HDFS中查看刚刚上传的文件及内容:

hadoop fs -ls /data/wordcount

运行wordcount程序

wordcount样例程序在/home/hadoop/hadoop/hadoop-2.9.2/share/hadoop/mapreduce,进入该目录:

cd /home/hadoop/hadoop/hadoop-2.9.2/share/hadoop/mapreduce

执行:

hadoop jar hadoop-mapreduce-examples-2.9.2.jar wordcount /data/wordcount /output/wordcount

看到以下打印就表示执行成功了:
大数据学习03之hadoop第一个MR程序wordcount单词统计
通过命令查看,计算的结果:

hadoop fs -cat /output/wordcount/part-r-00000
katy    2
leaf    2
ling    1
xpleaf  2
yeyonghao       1
yyh     2

第一个MR任务成功执行。
我们还可以去yarn上查看该job的详情:
http://192.168.1.102:8088/cluster
打开就能看到开篇的界面了。

参考资料

https://blog.51cto.com/xpleaf/1962271

欢迎关注我的微信公众号
大数据学习03之hadoop第一个MR程序wordcount单词统计

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐