梳理 | 大数据平台架构

in 机器学习 Views: 3,153 s with 0 comment

大数据架构.png
--------------------------还没整理完的分割线--------------------------------------------

基础组件:处理框架

处理框架处理引擎负责对数据系统中的数据进行计算。虽然“引擎”和“框架”之间的区别没有什么权威的定义,但大部分时候可以将前者定义为实际负责处理数据操作的组件,后者则可定义为承担类似作用的一系列组件。例如Apache Hadoop可以看作一种以MapReduce作为默认处理引擎的处理框架。引擎和框架通常可以相互替换或同时使用。例如另一个框架Apache Spark可以纳入Hadoop并取代MapReduce。组件之间的这种互操作性是大数据系统灵活性如此之高的原因之一。
目前市面上的常见框架——

Hadoop

开源的数据分析平台,解决了大数据的可靠存储和处理。适合处理非结构化数据,包括HDFS,MapReduce基本组件。
组件:

Storm

一种侧重于极低延迟的流处理框架,也许是要求近实时处理的工作负载的最佳选择。该技术可处理非常大量的数据,通过比其他解决方案更低的延迟提供结果。

Samza

Apache Samza是一种与Apache Kafka消息系统紧密绑定的流处理框架。虽然Kafka可用于很多流处理系统,但按照设计,Samza可以更好地发挥Kafka独特的架构优势和保障。该技术可通过Kafka提供容错、缓冲,以及状态存储。
Samza可使用YARN作为资源管理器。这意味着默认情况下需要具备Hadoop集群(至少具备HDFS和YARN),但同时也意味着Samza可以直接使用YARN丰富的内建功能。

Spark

Apache Spark是一种包含流处理能力的下一代批处理框架。与Hadoop的MapReduce引擎基于各种相同原则开发而来的Spark主要侧重于通过完善的内存计算和处理优化机制加快批处理工作负载的运行速度。

Spark可作为独立集群部署(需要相应存储层的配合),或可与Hadoop集成并取代MapReduce引擎。

Flink

Apache Flink是一种可以处理批处理任务的流处理框架。该技术可将批处理数据视作具备有限边界的数据流,借此将批处理任务作为流处理的子集加以处理。为所有处理任务采取流处理为先的方法会产生一系列有趣的副作用。

这种流处理为先的方法也叫做Kappa架构,与之相对的是更加被广为人知的Lambda架构(该架构中使用批处理作为主要处理方法,使用流作为补充并提供早期未经提炼的结果)。Kappa架构中会对一切进行流处理,借此对模型进行简化,而这一切是在最近流处理引擎逐渐成熟后才可行的。

以下还未整理所以比较乱七八糟

Kylin

Apache Kylin™是一个开源的分布式分析引擎,提供Hadoop之上的SQL查询接口及多维分析(OLAP)能力以支持超大规模数据,最初由eBay Inc. 开发并贡献至开源社区。它能在亚秒内查询巨大的Hive表。

Hive

用于Hadoop的一个数据仓库系统,它提供了类似于SQL的查询语言,通过使用该语言,可以方便地进行数据汇总,特定查询以及分析。

Hbase

一种分布的、可伸缩的、大数据储存库,支持随机、实时读/写访问。

Pig

分析大数据集的一个平台,该平台由一种表达数据分析程序的高级语言和对这些程序进行评估的基础设施一起组成。

Hue

Hue是一个用于Apache Hadoop分析数据的Web界面。它支持文件和作业浏览器,Hive,Pig,Impala,Spark,Oozie的编辑器,Solr的搜索仪表板,HBase,Sqoop2,等等。

Sqoop

高效传输批量数据而设计的一种工具,其用于Apache Hadoop和结构化数据储存库如关系数据库之间的数据传输。

Flume

一种分布式的、可靠的、可用的服务,其用于高效地搜集、汇总、移动大量日志数据。

ZooKeeper

一种集中服务,其用于维护配置信息,命名,提供分布式同步,以及提供分组服务。

Cloudera

最成型的Hadoop发行版本,拥有最多的部署案例。提供强大的部署、管理和监控工具。开发并贡献了可实时处理大数据的Impala项目。

Hortonworks

使用了100%开源Apache Hadoop提供商。开发了很多增强特性并提交至核心主干,这使得Hadoop能够在包括Windows Server和Azure在内平台上本地运行。

MapR

获取更好的性能和易用性而支持本地Unix文件系统而不是HDFS。提供诸如快照、镜像或有状态的故障恢复等高可用性特性。领导着Apache Drill项目,是Google的Dremel的开源实现,目的是执行类似SQL的查询以提供实时处理。

References

「一键投喂 软糖/蛋糕/布丁/牛奶/冰阔乐!」

薇拉航线

(๑>ڡ<)☆谢谢老板~

使用微信扫描二维码完成支付

Comments are closed.