分布式并行计算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
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)查看运行结果