走向云计算之Hadoop基本介绍及生态系统

来源:互联网 发布:点云数据英文 编辑:程序博客网 时间:2024/05/16 01:18

一、Hadoop基本架构

Hadoop有许多发行版本,基本可以分为1.x版本和2.x版本。两者基本组成如下:
这里写图片描述

1、HDFS(Hadoop Distributed File System)

其基本思想源自于Google的GFS论文,HDFS是GFS克隆版。

  • HDFS特点
    1、良好的扩展性
    2、高容错性
    3、适合PB级以上海量数据的存储
  • 基本原理
    1、将文件切分成等大的数据块,存储到多台机器上
    2、将数据切分、容错、负载均衡等功能透明化,对用户开发API
    3、可将HDFS看成一个容量巨大、具有高容错性的磁盘
  • 应用场景
    1、海量数据的可靠性存储
    2、数据归档

2、YARN(Yet Another Resource Negotiator)

  • YARN是什么
    1、Hadoop 2.0新增系统
    2、负责集群的资源管理和调度
    3、使得多种计算框架可以运行在一个集群中
  • YARN的特点
    1、良好的扩展性、高可用性
    2、对多种类型的应用程序进行统一管理和调度
    3、自带了多种多用户调度器,适合共享集群环境,如下图所示:
    这里写图片描述

3、MapReduce

其设计理念源自于Google的MapReduce论文,Hadoop MapReduce是Google MapReduce克隆版。
- MapReduce特点
1、良好的扩展性
2、高容错性
3、适合PB级以上海量数据的离线处理

二、Hadoop的生态系统

针对Hadoop1.x和Hadoop2.x有不同的生态系统,详情如下。

  • Hadoop1.x生态系统:
    这里写图片描述

  • Hadoop2.x生态系统:
    这里写图片描述

1、HBase(分布式数据库)

其设计理念源自Google的Bigtable论文,HBase是Google Bigtable克隆版。

  • HBase特点
    1、高可靠性
    2、高性能
    3、面向列
    4、良好的扩展性

2、Hive(基于MR的数据仓库)

Hive由facebook开源,最初用于解决海量结构化的日志数据统计问题;本质上是一个ETL(Extraction-Transformation-Loading)工具。
Hive是构建在Hadoop之上的数据仓库,数据计算使用MapReduce,数据存储使用HDFS。Hive 定义了一种类 SQL 查询语言——HQL,类似SQL,但不完全相同。 通常用于进行离线数据处理(采用MapReduce),可认为是一个HQLMR的语言翻译器。

  • 应用场景:
    1、日志分析,例如统计网站一个时间段内的pv、uv
    2、多维度数据分析
    3、海量结构化数据离线分析
    4、低成本进行数据分析(不直接编写MR)

3、Pig

Pig由yahoo!开源,设计理念是提供一种基于MapReduce的ad-hoc数据分析工具,也是构建在Hadoop之上的数据仓库。Pig定义了一种数据流语言——Pig Latin,通常用于进行离线分析。

4、Zookeeper(分布式协作服务)

其设计理念源自Google的Chubby论文,Zookeeper是Chubby克隆版。
Zookeeper解决了分布式环境下数据管理问题例如:统一命名、状态同步、集群管理、配置同步等。

5、Sqoop(数据同步工具)

Sqoop连接Hadoop与传统数据库之间的桥梁,支持多种数据库,包括MySQL、DB2等;还支持插拔式,用户可根据需要支持新的数据库。Sqoop本质上是一个MapReduce程序,它充分利用了MR分布式并行和高容错性的特点。

6、Flume(日志收集工具)

Flume是Cloudera开源的日志收集系统,具有如下特点:

  • 分布式
  • 高可靠性
  • 高容错性
  • 易于定制与扩展
原创粉丝点击