内容简介:本文主要目的是介绍 Hadoop 的基本架构以及衍生出来的各种工具,以期对 Hadoop 有个整体的认识。Hadoop 生态系统是指以下面将对图中各项组件做一个介绍
本文主要目的是介绍 Hadoop 的基本架构以及衍生出来的各种工具,以期对 Hadoop 有个整体的认识。
Hadoop 生态系统
Hadoop 生态系统是指以 分布式的文件系统 HDFS 、 分布式的计算框架 MapReduce 以及 资源管理器 YARN 为基础构成的分布式数据处理系统,其结构图如下图所示:
下面将对图中各项组件做一个介绍
HDFS
HDFS 是 Google 于 2003 发表的 分布式文件系统 GFS 论文的开源实现版本,主要目的是使用普通商业电脑解决大量数据的存储以及读取速度问题,在 GFS 出现之前一般主要在 单台计算机 用 RAID 来提高数据存储量和读取速度。但是采用 RAID 一方面成本比较高(需求太高时可能只有超级计算机才能满足),另一方面数据量过大时可能超级计算机也无法满足需求。所以这个时候就需要采取 分布式 的方式去满足扩大存储(多台机器多个磁盘)和增加读取速度的需求(多台机器可以同时读)。
MapReduce
MapReduce 是一个分布式的计算框架,在 MapReduce 出现之前就已经有了分布式计算这个概念。但是大多数分布式计算只能专门用于处理一类运算,而 Google 在大量实践中总结出了一个通用的编程模型: map
和 reduce
。其中 map
是指分开计算的过程,而 reduce
是指合并结果的过程。而在这一编程模型添加的一系列机制和操作构成了 MapReduce。MapReduce 大大降低了分布式计算的门槛,对于开发人员而言只需要编写一系列 map
和 reduce
函数即可完成所需的分布式计算过程。
YARN
YARN 是一个资源管理框架,主要作用是负责集群的资源调度和作业任务管理。YARN 的出现源于 Hadoop 不能满足统一使用集群资源的需求,因为 Hadoop1 中集群的资源调度和任务管理与 MapReduce 的执行过程是耦合在一起的,而后续出现的 Spark、Storm 等分布式计算系统其架构和执行过程与 MapReduce 不同,无法直接向 Hadoop 申请集群资源。所以为了实现集群资源的统一管理,在 Hadoop2 中对 MapReduce 进行了一个解耦,抽离出了 YARN 这个框架。
ZooKeeper
Zookeeper 主要作用是提供一个分布式、高可用的协调服务,解决分布式环境下的数据管理问题:统一命名,状态同步,集群管理,配置同步等。
Pig
虽然 MapReduce 极大的简化了分布式计算编程的门槛,但是 Yahoo 的工程师依然觉得 MapReduce 编程太过麻烦,所以他们便开发了 Pig 这个脚本语言用于描述对大数据集的操作。这样就可以通过编译 Pig 脚本生成对应的 MapReduce 程序。
Hive
为了方便使用 SQL 的工程师使用 MapReduce,Facebook 的工程师开发了 Hive,通过 Hive 熟悉数据库的工程师可以无门槛的使用 MapReduce。
Mahout
Mahout 的主要目标是创建一些可扩展的机器学习领域经典算法的实现,旨在帮助开发人员更加方便快捷地创建智能应用程序。Mahout 现在已经包含了聚类、分类、推荐引擎(协同过滤)和频繁集挖掘等广泛使用的数据挖掘方法。
Tez
Tez 是 Apache 最新开源的支持 DAG 作业的计算框架,它直接源于 MapReduce 框架,核心思想是将 Map 和 Reduce 两个操作进一步拆分,即 Map 被拆分成 Input、Processor、Sort、Merge和Output, Reduce 被拆分成 Input、Shuffle、Sort、Merge、Processor 和 Output 等。
Hase
HBase 是一个建立在 HDFS 之上,面向列的针对结构化数据的可伸缩、高可靠、高性能、分布式和面向列的动态模式数据库。
Flume
Cloudera 开源的日志收集系统,具有分布式、高可靠、高容错、易于定制和扩展的特点。
Sqoop
Sqoop 是 SQL-to-Hadoop 的缩写,主要用于传统数据库和 Hadoop 之前传输数据。数据的导入和导出本质上是Mapreduce 程序,充分利用了 MR 的并行化和容错性。
Ambari
Ambari 的作用来说,就是创建、管理、监视 Hadoop 的集群,是为了让 Hadoop 以及相关的大数据软件更容易使用的一个 web 工具。
以上所述就是小编给大家介绍的《Hadoop 基础之生态圈》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 基于 jvm-sandbox 生态搭建可落地的基础设施平台级解决方案
- DeFi撑爆以太坊基础设施,近1亿美元BTC已进入以太坊生态
- 跨链巨星 Polkadot 生态历险 129 个生态资助项目大摸底
- 腾讯 Omi 生态发布
- 初入Hadoop生态系统
- 云原生和技术生态(200509)
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。