暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Hadoop生态系统概述

大数据真有意思 2019-03-01
220


Hadoop生态系统概述


Hadoop生态系统特点



1、源代码开源(免费)

2、社区活跃、参与者众多

3、涉及分布式存储和计算的方方面面

4、已得到企业界验证

Hadoop介绍


1、分布式存储系统HDFS(Hadoop Distributed File System) 

    分布式存储系统

    提供了高可靠性、高扩展性和高吞吐率的数据存储服务

2、资源管理系统YARN(Yet Another Resource Negotiator)

    负责集群资源的统一管理和调度

3、分布式计算框架MapReduce

    分布式计算框架

    具有易于编程、高容错性和高扩展性等优点


HDFS(分布式文件系统)

源自于Google的GFS论文

    发表于2003年10月

    HDFS是GFS克隆版


HDFS特点

    良好的扩展性

    高容错性

    适合PB级以上海量数据的存储


基本原理

    将文件切分成等大的数据块,存储到多台机器上

    将数据切分、容错、负载均衡等功能透明化

    可将HDFS看成一个容量巨大、具有高容错性的磁盘


应用场景

    海量数据的可靠性存储

    数据归档


YARN(资源管理系统)

YARN是什么

    Hadoop 2.0新增系统

    负责集群的资源管理和调度

    使得多种计算框架可以运行在一个集群中


YARN的特点

    良好的扩展性、高可用性

    对多种类型的应用程序进行统一管理和调度

    自带了多种多用户调度器,适合共享集群环境


其他资源管理系统如:

    Spark standalone、Mesos、K8s等


MapReduce(分布式计算框架)

源自于Google的MapReduce论文

    发表于2004年12月

    Hadoop MapReduce是Google MapReduce克隆版


MapReduce特点

    良好的扩展性

    高容错性

    适合PB级以上海量数据的离线处理


目前有良好的竞争者和替代品:MPP、Spark、Flink等


Hadoop生态系统


1.0



2.0



Hive(基于MR的数据仓库)

由facebook开源,最初用于解决海量结构化的日志数据统计问题

ETL(Extraction-Transformation-Loading)工具


构建在Hadoop之上的数据仓库

数据计算使用MR,数据存储使用HDFS


Hive 定义了一种类 SQL 查询语言——HQL

类似SQL,但不完全相同


通常用于进行离线数据处理(采用MapReduce)

可认为是一个HQL MR的语言翻译器


日志分析

统计网站一个时间段内的pv、uv


多维度数据分析 

大部分互联网公司使用Hive进行日志分析,包括百 度、淘宝等


其他场景

海量结构化数据离线分析

低成本进行数据分析(不直接编写MR)



wordcount问题


MapReduce程序

            


Hive语句

SELECT word, COUNT(*)

FROM doc

LATERAL VIEW explode(split(text, ' ')) lTable

as word GROUP BY word;


HBase(分布式数据库)

源自Google的Bigtable论文

发表于2006年11月

HBase是Google Bigtable克隆版


HBase特点

高可靠性

高性能

面向列

良好的扩展性


Table:表

类似于传统传统数据库中的表


Column Family:列簇

Table在水平方向有一个或者多个Column Family组成

一个Column Family中可以由任意多个Column组成


Row Key: 行键

Table的主键

Table中的记录按照Row Key排序 


Timestamp: 时间戳

每行数据均对应一个时间戳

版本号


HBase数据模型


HBase架构


Zookeeper(分布式协调服务)

源自Google的Chubby论文

发表于2006年11月

Zookeeper是Chubby克隆版


解决分布式环境下数据管理问题

统一命名

状态同步

集群管理

配置同步


Zookeeper应用

HDFS HA-ZKFC

YARN HA

Storm

HBase

Flume 

Dubbo (阿里巴巴) 服务注册与发现

Metaq (阿里巴巴) RocketMQ自研轻量级NameServer


Sqoop(数据同步工具)

连接Hadoop与传统数据库之间的桥梁

支持多种数据库,包括MySQL、DB2等 

插拔式,用户可根据需要支持新的数据库


本质上是一个MapReduce程序 

充分利用了MR分布式并行的特点

充分利用MR容错性


需要注意Sqoop1.4.6和Sqoop1.99+的版本差异

下图为1.4.6版本:


Flume(日志收集工具)

Cloudera开源的日志收集系统


Flume特点

分布式

高可靠性

高容错性

易于定制与扩展


Hadoop发行版介绍


1、Apache Hadoop

推荐使用最新的2.x.x版本 嗯 虽然已经3.x.x了


2、CDH(Cloudera Distributed Hadoop) 

5.x.x

Cloudera Manager 6.1.1


3、HDP(Hortonworks Data Platform)

2.x.x

Hortonworks Data Platform: HDP 3.1


下图展示了HDP关键组件:


长按二维码添加关注

我要一步一步往上爬,在最高点乘着叶片往前飞。小小的天流过的泪和汗,总有一天我有属于我的天。——周杰伦《蜗牛》



文章转载自大数据真有意思,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论