Hadoop学习笔记1

来源:互联网 发布:淘宝发展趋势 编辑:程序博客网 时间:2024/06/06 04:49

1.Hadoop来源

hadoop来源于Google核心技术。

分布式基础设施 :GFS、Chubby和Protocol Buffer

分布式大规模数据处理:MapReduce、Sawzall

分布式数据库:BigTable和Sharding  BitTable对应HBase

1.1GFS的架构


Master 存储数据块信息 双重Master不存在单点问题

Chunkserver存放数据分片信息,会和Master通信确认是否可访问

 1.2 MapReduce架构

MapReduce是把一个大的任务分成多个小的任务                      

UserProgram进程分出一个Master进程管理Mapwork和Reducework。master进程负载


2 Hadoop的特点

开源可用、分布式备份复制机制和MapReduce任务监控


3.Hadoop体系结构

hadoop core (HDFS组件、MapReduce组件、Common组件)

3.1 Common组件

基础,提供IO、压缩、RPC通信、序列化

JNI方法调用c/C++编写的native库,加速数据压缩、校验等功能

3.2HDFS组件

采用流式数据访问模式,可用来存储超大文件和海量数据,具有高吞吐、方便部署、分布式存储管理的特点

 HDFS集群拥有名称节点namenode和数据节点datanode,名称节点保存文件数据块的映射映像信息和整个文件系统的名称空间,而数据节点负责存储和读取      数据文件


HDFS读操作


步骤:1HDFS client 通过Distributed FileSystem 的open方法 

Distributed 调用rpc来确定文件块位置信息

                                        Distributed FileSystem返回一个FSData inputStream给客户端

客户端通过read函数从数据节点读取数据

存取这数据头文件信息读取最近的数据节点数据信息

 HDFS读操作



步骤:创建Distributed FIleSystem,向namenode发起请求,生成FsData OutputStream对象,一旦获得

FSData OutputStream对象,client端就回向datanode写数据,datanode将返回一个包写完信息给client端

同时刚被写入datanode将会向其他datanode副本发起写过程。piperline过程向其他副本写过程

 3.3MapReduce组件

JobTracker taskTracker MapTask Reduce Task

                            word count 统计单词次数

                           input:how do you do 

                                        fine

                                         you should say how do you do

                           map

                              map负责将每个单词变为key 1

      reduce负责将每个key相同的相加

MapReduce流程图


分片sort 然后copy shuffle 、

partition分区 先map放到内存然后分区,然后merge 作为reduce输入然后远程copy然后merge缓存本地然后输出结果


Hadoop生态系统

                       

HBase列式存储动态模式数据库,随机读写访问可以通过mapreduce处理数据,

hive是数据仓库,数据抽取、转换和加载。类SQL语言HiveQL

Pig 对大型数据分析平台

Oozie工作流引擎,计算作业抽象为动作,控制流节点则用于控制动作之间的关系。

Hcatalog抽象表

 zookeeper分布式服务框架,解决分布式计算中的一致性问题,

处理数据管理问题:统一命名服务、状态同步管理,集群管理,分布式应用配置项管理等

Ambari支持监控管理工具

Hadoop版本:新版2.x加入NameNode HA和HDFS Federation和YARN


Hadoop参考:http://hadoop.apache.org/




0 0
原创粉丝点击