分布式并行计算MapReduce

分布式并行计算MapReduce

作业要求来自:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE2/homework/3319

1.用自己的话阐明Hadoop平台上HDFS和MapReduce的功能、工作原理和工作过程。

HDFS的功能:HDFS是作为底层存储系统来存储分布式环境中的数据,它可以让你在Hadoop集群中的多个节点上存储大量数据(无论是结构化的,非结构化的还是半结构化的)

 

HDFS的工作原理:客户端发送各种各样各种各样的请求,然后NameNode作为一个管理者,下达命令,DataNode 执行实际的操作

 

HDFS的工作过程:客户端把文件文件切分成 一个一个的Block,然后进行存储,再与NameNode 交互,获取文件的位置信息,之后又与 DataNode 交互,读取或者写入数据。

 

MapReduce的功能:它可以把大型数据处理任务分解成很多单个的、在服务器集群中执行,并且计算结果可以合并在一起来计算最终的结果

 

MapReduce的工作原理:利用JobTracker得到jobID,然后JobTracker收到作业的最后一个任务完成信息之后,客户端的job再把信息传给用户

 

MapReduce的工作过程:客户端启动一个作业,向JobTracker请求一个作业的ID,将运行作业所需要的资源文件复制到HDFS上,JobTracker接收到作业后将其放在作业队列中,等待JobTracker对其进行调度。当JobTracker收到作业的最后一个任务完成信息时,便把作业设置成"成功",JobClient再传达信息给用户

2.HDFS上运行MapReduce

1)准备文本文件,放在本地/home/hadoop/wc

2)编写map函数和reduce函数,在本地运行测试通过

 

3)启动Hadoop:HDFS, JobTracker, TaskTracker

4)把文本文件上传到hdfs文件系统上 user/hadoop/input

 

5)streaming的jar文件的路径写入环境变量,让环境变量生效

 

6)建立一个shell脚本文件:streaming接口运行的脚本,名称为run.sh

7)source run.sh来执行mapreduce

 

8)查看运行结果

posted @ 2019-06-06 11:30  TicTac1  阅读(273)  评论(0编辑  收藏  举报