Hadoop生态圈

参考链接

1.为什么需要分布式计算系统?

当前大数据的数据量已达PB级别(1PB=1024TB),可以说是庞大无比。同时数据还有结构化(如数字、符号等)、非结构化(如文本、图像、声音、视频等)之分,兼具大量、复杂的特点,使得如何又快又好又便宜得进行大数据的存储,管理和处理变成一个亟待解决的问题。

于是分布式计算作为一种低成本的方案被提出来了。

原理:把一组计算机通过网络相互连接组成分散系统,尽管分散系统内的单个计算机的计算能力不强,但是每个计算机只计算一部分数据,多台计算机同时计算,最后将这些计算结果合并得到最终的结果。就整个分散系统而言,处理数据的速度远高于单个计算机,且比集中式计算的大型机要划算的多。

2.三者的介绍:

· Hadoop用于离线复杂大数据处理

·Spark 用于离线快速的大数据处理

·Flink 用于在线实时的大数据处理。

3.三者之间的关联:

Spark分布式计算是在Hadoop分布式计算的基础上进行的一些架构上的改良。

SparkHadoop最大的不同点在于,Hadoop硬盘存储数据,而Spark内存存储数据,所以Spark能提供超过Hadoop100倍的运算速度。但因为内存断电后会丢失数据,所以Spark不能用于处理需要长期保存的数据。

Flink是目前唯一同时支持高吞吐、低延迟、高性能的分布式流式数据处理框架。一般需要实时处理的场景都有他的身影,比如:实时智能推荐、实时复杂事件处理、实时欺诈检测、实时数仓与ETL、实时报表分析等

4.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就是基于此背景诞生的资源统一管理平台。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值