概要说明
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
看到以下打印就表示执行成功了:
通过命令查看,计算的结果:
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
欢迎关注我的微信公众号