week12 小结
Hadoop是由java语言编写的,在分布式服务器集群上存储海量数据并运行分布式分析应用的开源框架,其核心部件是HDFS与MapReduce。
HDFS是一个分布式文件系统:引入存放文件元数据信息的服务器Namenode和实际存放数据的服务器Datanode,对数据进行分布式储存和读取。
MapReduce是一个计算框架:MapReduce的核心思想是把计算任务分配给集群内的服务器里执行。通过对计算任务的拆分(Map计算/Reduce计算)再根据任务调度器(JobTracker)对任务进行分布式计算。
Hadoop是离线数据处理,在Hadoop中运行的任务,一般是运行不完的,所以任务的计算要区分优先级,优先级高的先计算,可以通过自定义任务调度或者Hadoop管理者手动调整任务执行的优先级。
Hadoop的运行分为以下几个步骤:
1、作业jar包上传到hdfs,一般是多个备份
2、提交作业给JobTracker
3、创建JobInProcess
4、创建TaskInProcess
5、TaskTracker通过心跳去JobTracker拉取TaskInProcess
6、JobTracker根据TaskTracker所处的机器,选择合适的TaskInProcess分发个上一步的TaskTracker
7、TaskTracker里面的TaskRunner启动map进程或者reduce进程
8、从HDFS下载jar包
9、map读取分片的数据块/reduce输出计算结果到hdfs
评论 (1 条评论)