hadoop-运行WordCount实例

来源:互联网 发布:怎样加入淘宝网全球购 编辑:程序博客网 时间:2024/05/16 10:41

运行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的运行状态
8088端口:jobtracker,mapReduce任务的运行情况(hdfs上程序运行情况)
50070端口:hdfs的管理(文件系统的运行情况)
0 0