hadoop架构总结(一)

hadoop架构总结(一)

文章基于工业出版社出版《hadoop大数据技术基础及应用》个人学习总结。

1 hadoop概述

hadoop是一个开源的分布式文件存储处理架构。发展过程大致分为1.0版本和2.0版本。

hadoop1.0由分布式存储系统hdfs以及分布式计算框架mapreduce组成。2.0的变化在于引进了资源调度框架YARN,使得mapreduce更加专注于处理计算。在2.0中还解决了1.0版本存在的单点故障。

1.1 hadoop2.0生态系统

hadoop架构总结(一)_第1张图片

1、HDFS

HDFS可以说是hadoop生态的基石,具备高容错优点的分布式文件存储系统,分布在多台廉价机器上构成集群文件系统,能够提供高吞吐的数据访问。

2、mapreduce

分布式计算模型,将计算任务处理分为map和reduce两个阶段,分发到多台机器进行并行计算。

3、YARN

yarn出现在hadoop2.0版本后,是一个集群资源管理系统,对外提供服务。基本设计思想是将1.0中的JobTracher拆分成两个独立服务:一个全局资源管理器ResourceManager和各个应用程序特有的ApplicatonMaster。ResourceManager负责整个系统资源调度,AppMaster负责单个应用程序管理。

4、Hbase

设计理念起于谷歌论文《BigTable》,是一个分布式面向列式存储的开源数据库,擅长大规模数据的随机、实时读写访问。

5、Hive

由Facebook开发,基于hadoop的数据仓储工具,可以将结构化的数据文件映射成一张表,提供简单的SQL查询功能(将SQL语句转换成mapreduce程序)。

6、Pig

与Hive类似,也是对大数据集的分析评估工具,提供了一种更高抽象、面向领域的抽象语言:Pig Latin.

7、Mahout

集群学习和数据挖掘库。

8、Flume

Cloudera提供的一个高可用的、高可靠、分布式的海量日志采集、集合和传输系统,他支持在日志系统中定制各类数据发送采集数据,同时对数据进行简单处理,并写到各种数据接收方的能力。

9、Sqoop

连接传统数据库的桥梁,可以把关系型数据库的数据导入HDFS/Hive中,反之导出到关系型数据库。sqoop利用mapreduce并行化的能力提高传输速率。

11、Tez

支持DAG(有向无环图)的开源计算架构。

12、Storm

免费开源、分布式、高容错的实时计算系统,用于机器学习、持续计算、分布式远程调用和ETL(Extract抽取、Transform传输、Load加载)

13、CDH/Ambain

基于WEB的集群管理工具。

1.2 hadoop与spark

1.2.1 spark概念与特点

Spark诞生于加州大学比克利分校,后成为Apache软件的顶级开源项目。Spark是基于内存的大数据并行计算架构,提高了大数据环境下的数据处理的实时性,同时保证高容错和高可伸缩,可以部署在廉价集群上,提高并行计算能力。

  • 运行速度快

    相对于Hadoop的mapreduce,spark的计算过程数据存储与内存中,降低对磁盘读写的I/O开销。

  • 易用性

    Spark支持Java/Python/Scala的API,以及Scala/Python的交互式Shell,另外还有超过80种的高级算法,快速构建不同的应用。

  • 支持复杂查询

    mapreduce在处理迭代计算时遇到的局限性在spark中都得到了优化,将上一步计算的计算结果作为下一步计算的输入。另外还还支持SQL查询、流式计算、机器学习与图像算法。

  • 实时流处理

    spark Steaming主要用来处理数据处理。在2.3.0版本后,社区更新了实时流计算更强大的工具Structured Streaming,具备毫秒级别的流式查询

  • 容错性

    spark引入弹性分布式数据集RDD的抽象,它是分布在一组节点中的只读对象集合,如果有一部分数据丢失,可以根据“血缘”关系恢复,最差的结果就是从HDFS中重新读取,避免了数据备份容错带来的资源消耗。

1.2.2hadoop与spark的关系

技术在不断的应用中发展变革,基于开源项目的应用优势,spark不管是离线计算还是实时计算、机器学习、图算法,都比hadoop做了更大的优化,更加可以应对日益复杂的大数据计算需求。

但是无论是hadoop还是spark,最底层的数据存储还是要依赖HDFS,统一的资源管理系统依赖YARN。hadoop与spark相辅相成。

你可能感兴趣的:(hadoop架构总结(一))