2、大数据技术架构:核心原理与应用实践(上)

最近为了全面系统的了解大数据全部技术栈,看完了一本《大数据技术架构:核心原理与应用实践》,从该本书中得以管中窥豹,入门大数据,读完后主要有以下几点收获。
1.了解了大数据的前世今生
谷歌的三篇论文,开启了大数据时代,俗称三架马车,三架马车分别是HDFS存储、MapReduce大数据计算、Yarn资源调度。如图1所示为大数据系统全栈技术组件图。


图1:大数据系统全栈技术组件

2.分别对三驾马车进行深入了解
首先是最基本的数据储存系统,谷歌的第一架马车即GFS(google file system),hadoop的第一个产品即为HDFS(分布式文件系统)。


图2:HDFS数据存储架构图

如图2所示,分布式数据存储系统将数据存储由传统的垂直伸缩演变到了水平伸缩,再到了hadoop的分布式文件系统,将数据以数据块状储存。
其次是大数据的计算框架-MapReduce,该框架由两部分组成,Map(映射)将所有的数据块进行相同键值对组合,然后指定并发的Reduce(归约)函数计算,然后将计算结果进行合并,完成大数据的并发计算。


图3:MapReduce计算框架

如图3所示,为MapReduce计算框架下完成一个文本计数统计的全流程。
最后是分布式集群调度框架Yarn(yet another response negotiate,另一种资源调度器),用于大数据系统中整个集群的资源调度管理和任务管理。
图4:Yarn资源调度框架

如图4所示,为Yarn资源调度框架,一共包含两部分,一部分是系统中的资源管理器,负责资源调度管理,一部分是节点管理器,负责具体服务器上的资源管理和任务管理。hadoop生态将资源调度和计算分开来执行,调度用Yarn框架来实现。

3.大数据生态体系主要产品与架构
大数据体系不单单是由某一个组件或简单的一些组件构成,而是集成了众多组件,客户会根据自身业务的实际需求对其进行组装,构成适用于自身的大数据平台。组件其中包括数据仓库Hive、NoSQL系统HBase、计算引擎Spark、流计算引擎Storm、Flink等,以及用于分布式一致性解决方案的zooKeeper。全部的组件构成一个完整的大数据生态体系。以下将简单介绍一下几个常用组件。
首先是Spark,是专为大规模数据处理而设计的快速通用的计算引擎。


图5:Spark相对于MapReduce优势

如上图所示,Spark是针对MapReduce做的优化和改进,其中有以上三点不同。
其次是HBase,他是谷歌论文中Bigtable的实现,主要是通过利用K-V值建立的一种no-sql数据库。如图6所示,为Hbase数据库结构。


图6:Hbase数据库结构

然后是storm,这是一种流式计算框架,不同于传统的批处理,他主要是为了迅速的完成大数据的流式计算,它的结构如图7所示。
图7:Storm结构

同时,Spark也推出了相应的流式计算引擎Spark Streaming,原理是将流处理变成连续的小批量数据来实现处理流式大数据的方案。如图8所示。
图8:Spark Streaming原理

最后是Flink,也是相同的思路,通过连续的处理小批量数据来实现流式处理大数据的方案,不同点在于接入数据时不需要将流式数据处理成批量数据。如图9所示。


图9:Flink示意图

待续。。。。。

你可能感兴趣的:(2、大数据技术架构:核心原理与应用实践(上))