从Hadoop框架讨论大数据生态

Hadoop是由Apache基金会所开发的分布式系统基础架构。
之后的大数据框架比如Hbase, Hive, Spark都依赖于Hadoop。主要解决海量数据的存储和海量数据的计算问题。广义上讲Hadoop通常指一个更为广泛的概念-Hadoop生态圈。

Google是Hadoop的思想之源。Google在大数据方面的三篇论文:GFS-HDFS, Map-Reduce-MR, BigTable-HBase

Hadoop三大发行版本:Apache, Cloudera, Hortonworks。
Apache版本是最原始的版本,适合入门学习。
Cloudera在大型互联网企业中应用的多。
Hortonworks文档好。

Hadoop的优势(4高):

  1. 高可靠性:Hadoop底层维护多个数据副本,所以即使Hadoop某个计算元素或存储出现故障,也不会导致数据的丢失。至少会备份三份。
  2. 高拓展性:在集群间分配任务数据,可方便的拓展数以千计的结点。
  3. 高效性:在MapReduce的思想下,Hadoop是并行工作的,可以加快数据的处理速度。
  4. 高容错性:可以自动的将失败的任务重新分配。

Hadoop1.x和Hadoop2.x的区别:

在Hadoop1.x的时代,Hadoop中的MapReduce同时处理业务逻辑运算和资源的调度,耦合性较大。在Hadoop2.x的时代,增加了Yarn,用于处理资源的调度,MapReduce只负责运算。降低了耦合性。


从Hadoop框架讨论大数据生态_第1张图片
Hadoop结构

其它Hadoop相关项目:

  • Apache HBase:分布式NoSQL列数据库,类似谷歌公司的Big Table。
  • Apache Hive:构建于Hadoop之上的数据仓库,通过一种类SQL语言HiveQL为用户提供数据的归纳、查询和分析等功能。Hive最初由Facebook贡献。
  • Apache Mahout:机器学习算法软件包。
  • Apache Sqoop:结构化数据(如关系型数据库)与Apache Hadoop之间的数据转换工具。
  • Apache Zookeeper:分布式锁设施,提供类似Google Chubby的功能,由Facebook贡献。
  • Apache Avro:新的数据序列化格式与传输工具将逐步取代原有的Hadoop IPC机制。

HDFS架构的概述

  1. NameNode(nn):存储文件的元数据,如文件名,文件目录结构,文件属性(生成时间,副本数,文件权限),以及每个文件的块列表和块所在的DataNode等。
  2. DataNode(dn):在本地文件系统存储文件块数据,以及块数据的校验和。
  3. Secondary NameNode(2nn):用于监控HDFS状态的辅助后台程序,每隔一段时间获取HDFS元数据的快照。

Yarn架构

从Hadoop框架讨论大数据生态_第2张图片
Yarn架构

Resource Manager(RM)的作用:

  • 处理客户端的请求。
  • 监控NodeManager。
  • 启动或监控ApplicationMaster。
  • 资源的分配与调度。

NodeManager(NM)的作用:

  • 管理单个结点上的资源。
  • 处理来自ResourceManager上的命令。
  • 处理来自ApplicationMaster上的命令。

ApplicationMaster的作用:

  • 负责数据的切分。
  • 为应用程序申请资源并分配给内部的任务。
  • 任务的监控与容错。

Container:
Container是Yarn中资源的抽象,它封装了某个结点上多维度的资源,如内存,CPU,磁盘,网络等。

MapReduce架构概述:

MapReduce将计算分为两个阶段分别为Map和Reduce。

  1. Map阶段并行处理输入的数据。
  2. Reduce阶段对Map的结果进行汇总。

大数据技术生态体系:

从Hadoop框架讨论大数据生态_第3张图片
大数据技术生态体系

推荐系统项目框架图:

从Hadoop框架讨论大数据生态_第4张图片
推荐系统项目框架图

你可能感兴趣的:(从Hadoop框架讨论大数据生态)