Hadoop作为分布式大数据处理系统的典型代表,在大数据领域的应用可以说是占据了相当重要的市场。因为Hadoop是开源项目,所以基于Hadoop去搭建大数据平台,对于企业而言,不会增加更大的成本支出。今天,我们就主要来聊聊Hadoop数据处理是怎么来实现的。
Hadoop数据处理,主要依靠的就是分布式文件系统HDFS和分布式计算框架MapReduce,另外,还有Yarn组件系统来负责分布式任务调度。
HDFS,主要解决的是大数据存储的问题。HDFS采用的典型的主从结构,一个HDFS集群是由一个Namenode和一定数目的Datanodes组成。
一个HDFS集群当中,Namenode是中心服务器,负责集群当中的所有文件系统的命名空间以及文件的访问控制。而多个Datanode,分别部署在不同的服务器上,管理所在节点上的数据存储。
当系统发出数据存储请求时,一个文件被分成若干个数据块(block),这些数据块被分别发配到不同的Datanode进行存储,Datanode会将数据存储的信息包括文件名、位置信息等,又反馈给Namenode。
当需要读取数据时,先向Namenode请求文件位置信息,然后根据信息,在对应的Datanode上去找到对应的数据文件,然后进行下一步的数据处理任务。
而MapReduce,基于分布式计算思想,在接受到数据处理任务时,通常会把输入的数据集切分为若干独立的数据块,由map任务(task)以完全并行的方式处理它们。框架会对map的输出先进行排序,然后把结果输入给reduce任务。
因为MapReduce和HDFS运行在同一集群之上,计算设备和存储设备都在一起,所以在执行数据计算任务时,能够实现高效的任务调度,使得整个集群的网络带宽被非常高效地利用。这也是Hadoop之所以能够实现高效快速地处理数据的关键。
以上就是关于Hadoop数据处理的一个简单的流程拆解,在Hadoop系统架构的学习当中,需要更进一步去掌握这些知识,才能实现对于Hadoop框架从理论到实践的深度掌握。成都加米谷大数据,专业
大数据培训机构,大数据开发2020春季班正在招生中,详情可联系客服了解!