运行Hadoop的第一个实例:WordCount
1.配置hadoop的运行环境见大数据管理系统开发环境搭建
2.运行hadoop系统(./start-all.sh),用jps查看所有的hadoop进程,应该有以下进程
namenode
secondary-namenode
datanode
以上三个节点保证了hadoop的hdfs正常运行:
namenode:数据的集中管理(hadoop hdfs是master/slave的架构)
secondary-namenode:提供namenode的备份(防止中心节点namenode的崩溃)
datanode:负责具体数据的存储和读写
注意:hdfs的文件系统和我们普通的文件系统的文件不一样,hdfs文件只能在hdfs文件系统中查看,在linux本机上查看会都是乱码
ResourceManager
NodeManager
以上两个节点保证了Map-Reduce的任务能够顺利运行
ResourceManager : 即JobTracker,负责mapred任务执行的跟踪和分配
NodeManager:即JobWorker,负责执行mapred任务
3.WordCount实例介绍
hadoop的WordCount实例是hadoop Map-Red运行的一个范例,常用来检测map-red开发环境是否搭建成功
WordCount顾名思义就是数单词个数,输入多个文件,每个文件都存放多行单词,wordCount输出所有文件中每个单词出现了多少次
4.运行WordCount- 第一个mapred任务
1)首先在本地创建文件 ,这两个文件就是mapred的输入文件
mkdir ~/input
echo "hello hadoop">>a
echo "hello world">>b
2)将创建的文件夹上传到hdfs系统中hadoop用户的根目录下
hdfs dfs -put ~/input /user/hadoop/ //注:hdfs默认是当前用户目录,与linux类似,不是根目录
3)执行mapRed任务:
bin/hadoop jar share/hadoop/mapreduce/sources/hadoop-mapreduce-examples-2.6.0-sources.jar
input output
org.apache.hadoop.examples.WordCount指出jar包中运行哪个类
input是hdfs系统中输入文件夹,output是hdfs中当前用户的输出文件夹(没有的话会自动创建)
5.以上步骤完成后,可以看到hdfs的输出:
查看当前用户目录下,多了个output的文件夹,查看输出结果:
可见,hadoop和world出现了1次,hello出现了2次
运行完以上任务后,可以查看hadoop的运行状态:
运行完以上任务后,可以查看hadoop的运行状态:
在任意一台机器上,只要安装有浏览器,就可以查看hadoop的运行状态
8088端口:jobtracker,mapReduce任务的运行情况(hdfs上程序运行情况)
50070端口:hdfs的管理(文件系统的运行情况)