Hadoop生态系统
一、hadoop开源生态介绍
1、云计算与大数据
Iaas:基础设施即服务,通过互联网获得服务,例如亚马逊AWS,openStack
Paas:平台即服务,把服务器平台作为一种服务,例如虚拟开发平台,默认安装开发环境,hadoop
Saas:软件即服务,例如office365,大量app
2、大数据应用
hadoop提供存储和计算能力
支持PB级别数据
支持非结构化数据
支持结构化数据
支持万级每秒查询
支持高可靠性系统
支持高效率统计分析
3、hadoop起源
common组件、HDFS组件、Mapreduce组件(mrv1,mrv2)
02年: search engine
03年: GFS、NDFS
04年: MapReduce
06年: NDFS&MapReduce Hadoop
08年: Yahoo, Hadoop apache基金会
4、核心技术
分布式基础设施:GFS、Chubby和Protocol Buffer
分布式大数据处理技术:MapReduce和Sawzall
分布式数据库技术:BigTable和数据库sharding
数据中心优化技术:数据中心高温化、12V电池和服务器整合
5、GFS架构
GFS Master:存储chunk元数据信息,主备
Chunkserver1: 存储数据
Chunkserver2:
6、MapReduce架构
master进程
map 进程,存储本地磁盘
reduce进程,copy map文件,通过分布式文件系统reduce,最终输出
7、组件对比
google组件 Hadoop组件
MapReduce MapReduce(Mrv1、Mrv2)
GFS HDFS
Bigtable Hbase
Chubby Zookeeper
二、hadoop核心组件
核心组件包括三部分:HDFS组件、MapReduce组件、Common组件
2.1 Common组件
提供IO、压缩、RPC通信、序列化,利用JNI方法调用
编写的native库,加速数据压缩、数据校验等
2.2 HDFS组件
采用流式数据访问模式,用于存储大量超大文件和海量数据,具有高吞吐率、方便部署和存储管理特点
HDFS两种节点:Namenode和Datanode
Namenode:内存中保存文件数据块映射信息和整个文件系统的名字空间
Datanode:负责存储和读取数据块
了解读写操作流程
2.3 MapReduce组件
JobTracker
多个TaskTacker(MapTask和ReduceTask)
map (sort相同key放一起)
copy 到远端磁盘 merge合并文件,reduce结果
三、hadoop生态系统
Ambari:监控管理工具
Zookeeper:分布式服务框架,解决一致性问题
Hbase
Pig(Data Flow)
Hive(SQL) fackbook(数据etcl,数据存储和数据分析能力)
MapReduce
HDFS
Oozie (Workflow Schedule)多个作业调度动作,有向无环流
Hcatalog: 数据表管理和存储服务
四、hadoop发行版
Cloudera CDH
Hortonworks HDP: TEZ底层数据处理引擎
Intel Distribution:
IBM BigInsight
五、hadoop版本选择
1.0
2.0 0.23.x 2.x (包含HDFS和YARN两个系统)
考虑问题?
是否支持文件追加
是否支持HDFS文件链接访问
保证hadoop安全性
是否加入NameNode HA (0.21x 0.22.x 2.x)
是否加入HDFS和YARN (0.23x 2.x)
六、书籍推荐
Hadoop权威指南
Hadoop实战
hadoop.apache.org
hadoop jira
blogs.cloudera.com
hortonworks.com/blog
wiki.apache.ogr/hadoop