Hadoop、Spark、Flink概要
是⽬前重要的三⼤分布式计算系统
分布式计算系统
Hadoop,Spark、Flink是⽬前重要的三⼤
Hadoop,Spark、Flink
离线复杂⼤数据处理
· Hadoop⽤于离线复杂
离线快速的⼤数据处理
·Spark ⽤于离线快速
在线实时的⼤数据处理。
·Flink ⽤于在线实时
⼀、为什么需要分布式计算系统?
⾮结构化(如⽂本、图
当前⼤数据的数据量已达PB级别(1PB=1024TB),可以说是庞⼤⽆⽐。同时数据还有结构化
结构化(如数字、符号等)、⾮结构化
像、声⾳、视频等)之分,兼具⼤量、复杂的特点,使得如何⼜快⼜好⼜便宜得进⾏⼤数据的存储,管理和处理变成⼀个亟待解决的问题。
分布式计算作为⼀种低成本的⽅案被提出来了。原理就是把⼀组计算机通过⽹络相互连接组成分散系统,尽管分散系统内的单个计算机的计于是分布式计算
算能⼒不强,但是每个计算机只计算⼀部分数据,多台计算机同时计算,最后将这些计算结果合并得到最终的结果。就整个分散系统⽽⾔,处理数据的速度远⾼于单个计算机,且⽐集中式计算的⼤型机要划算的多。
Hadoop,Spark、Flink?
?
⼆、为什么是Hadoop,Spark、Flink
⼆、为什么是
为什么是他们,这要从⾕歌的三篇论⽂说起...
2003年到2004年间,Google发表了三篇技术论⽂,提出了⼀套分布式计算理论,分别是:
· 分布式计算框架 MapReduce
· 分布式⽂件系统 GFS(Google File System)
· 数据存储系统 BigTable
HDFS 但由于Google没有开源,所以其他互联⽹公司根据Google三篇论⽂中提到的原理,对照MapReduce搭建了Hadoop ,
Hadoop ,对照GFS搭建了HDFS HBase.
,对照BigTable搭建了HBase.
即:
· 分布式计算框架 MapReduce → Hadoop
· 分布式⽂件系统 GFS(Google File System) → HDFS
· 数据存储系统 BigTable → HBase
Spark分布式计算是在Hadoop分布式计算的基础上进⾏的⼀些架构上的改良。⽬前也是Hadoop⽣态圈的成员之⼀。
⽽Spark
内存存储数据,所以Spark能提供超过Hadoop100倍的运算速度。但
硬盘存储数据,⽽Spark⽤内存
Spark与Hadoop最⼤的不同点在于,Hadoop⽤硬盘
因为内存断电后会丢失数据,所以Spark不能⽤于处理需要长期保存的数据。
Flink是⽬前唯⼀同时⽀持⾼吞吐、低延迟、⾼性能的分布式流式数据处理框架。⼀般需要实时处理的场景都有他的⾝影,⽐如:实时智能推荐、实时复杂事件处理、实时欺诈检测、实时数仓与ETL、实时报hadoop分布式集搭建
表分析等
三、Hadoop⽣态圈
⼴义的Hadoop不再是单指⼀个分布式计算系统,⽽是⼀套⽣态系统。
那么,这套⽣态圈是如何产⽣的呢?
在有了Hadoop之类计算系统的基础上,⼈们希望⽤更友好的语⾔来做计算,于是产⽣了Hive、Pig、SparkSQL等。计算问题解决了,还能在什么地⽅进⼀步优化呢?于是⼈们想到给不同的任务分配资源,于是就有了Yarn、Oozie等。渐渐地,随着各种各样的⼯具出现,就慢慢演变成⼀个包含了⽂件系统、计算框架、调度系统的Hadoop⼤数据⽣态圈。
早期Hadoop⽣态圈⽰例
后期Hadoop⽣态圈⽰例(其中紫⾊Storm现已流⾏⽤Flink代替)
附:⼀些其他的组件⽰意
Kafka:是⼀种⾼吞吐量的分布式发布订阅消息系统,它可以处理各⼤⽹站或者App中⽤户的动作流数据。⽤户⾏为数据是后续进⾏业务分析和优化的重要数据资产,这些数据通常以处理⽇志和⽇志聚合的⽅式解决。
Kafka集上的消息是有时效性的,可以对发布上来的消息设置⼀个过期时间,不管有没有被消费,超过过期时间的消息都会被清空。例如,如果过期时间设置为⼀周,那么消息发布上来⼀周内,它们都是可以被消费的,如果过了过期时间,这条消息就会被丢弃以释放更多空间。
Oozie:是⼀个⼯作流调度系统,统⼀管理⼯作流的调度顺序、安排任务的执⾏时间等,⽤来管理Hadoop的任务。Oozie集成了Hadoop的MapReduce、Pig、Hive等协议以及Java、Shell脚本等任务,底层仍然是⼀个MapReduce程序。
ZooKeeper:是Hadoop和HBase的重要组件,是⼀个分布式开放的应⽤程序协调服务,主要为应⽤提供配置维护、域名服务、分布式同步、组服务等⼀致性服务。
YARN:Hadoop⽣态有很多⼯具,为了保证这些⼯具有序地运⾏在同⼀个集上,需要有⼀个调度系统进⾏协调指挥,YARN就是基于此背景诞⽣的资源统⼀管理平台。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论