



1、源代码开源(免费)
2、社区活跃、参与者众多
3、涉及分布式存储和计算的方方面面
4、已得到企业界验证




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等



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特点
分布式
高可靠性
高容错性
易于定制与扩展




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关键组件:

长按二维码添加关注



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





