Hadoop教程

Hadoop生态系统

本文主要是介绍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

这篇关于Hadoop生态系统的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!