利用Kettle+FineBI+MySQL构建电商运营分析报表可视化平台视频教程
6115 人在学
Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。
Hadoop实现了一个分布式文件系统(HadoopDistributedFileSystem),简称HDFS。
MapReduce计算流程
1首先是通过程序员所编写的MR程序通过命令行本地提交或者IDE远程提交
2一个MR程序就是一个Job,Job信息会给Resourcemanger,向Resourcemanger注册信息
3在注册通过后,Job会拷贝相关的资源信息(从HDFS中)
4紧接着会向Resourcemanger提交完整的Job信息(包括资源信息)
5aResourcemanger会通过提交的Job信息,计算出Job所需的资源,为Job分配Container资源
5b计算资源会分发给对应的NodeManger,NodeManager会创建一个MRAppMaster
6MRAppMaster初始化Job
7获取输入切片信息
8MRAppMaster向ResourceManager请求资源
9a启动计算资源(连接到对应的资源所在NodeManager)
9b启动YARNChild
10从文件系统中获取完整的Job信息
11启动对应的Maptask或者ReduceTask进程,执行计算。
HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(highthroughput)来访问应用程序的数据,适合那些有着超大数据集(largedataset)的应用程序。HDFS放宽了(relax)POSIX的要求,可以以流的形式访问(streamingAccess)文件系统中的数据。
Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,则MapReduce为海量的数据提供了计算。