当前位置:文档之家› hadoop系统分析

hadoop系统分析

元数据 cache in memory 数据块 64M ------ 512Byte 优势: (1)文件的大小不收单个磁盘容量限制。 (2)简化了分布式文件系统的设计。 (3)适于数据备份,利于提供HA。 (4)有利于LB,提高幵发read效率。
HDFS系统分析 ------运行视图
HDFS系统分析---运行视图
统计出每年的最高温度
Map Reduce实例
Map和Reduce每一步都有key-value对作为输入和输出:
map阶段的key-value对的格式是由输入的格式所决定的,如果是默认的 TextInputFormat,则每行作为一个记录进程处理,其中key为此行的开 头相对于文件的起始位置,value就是此行的字符文本。 例子中的数据,在map过程,输入的key-value对如下: (0, 0067011990999991950051507+0000+) (66, 0043011990999991950051518-0011+) (99, 0043012650999991949032412+0111+) (132, 0043012650999991949032418+0078+) (165, 0067011990999991937051507+0001+) (198, 0043011990999991937051512-0002+) (231, 0043011990999991945051518+0001+)
经过考验:实际生产环境验证-缺点
低延时访问不适用 HDFS是设计用于大吞吐量数据,Hbase有低延时要求的应用程序。
大量小文件处理开销大 (1)Namenode把文件系统的元数据放置在内存中,文件、文件夹和 Block等元数据每一个占据150字节左右的空间 (2)Map task的数量是由splits来决定的 不支持并发多用户写 不支持在文件的任意位置进行修改。追加???NO
Hadoop体系架构---案例
Yahoo!使用4000节点的机群运行Hadoop,支持广告系统和 Web搜索的研 究 Facebook使用1000节点的机群运行Hadoop,存储日志,进行搜索日志分析和网页数据挖 掘工作 淘宝的Hadoop系统用于存储幵处理电子商务的交易相关数据
Hadoop系统分析
运营支撑开发部 董杰平
中国电信集团系统集成有限责任公司 2012年12月
目录
Hadoop体系架构
HDFS系统分析 Map Reduce系统分析 Map Reduce实例 Map Reduce开发
Hbase简介
Hive简介 Hive+ Hbase
Hadoop体系架构
Hadoop体系架构---概述
几个重要对象:
Master(Job Tracker):对应HDFS的namenode,负责 job的接收、调度、监控、结束、返回。负责调度 slave节点的tasktracker 来运行task,接收tasktracker发 送的task运行状态,向client返回job执行结果。 Slave(Task Tracker):对应HDFS的 data node,负责 本节点task的控制、运行。向master的job tracker 报告 task的执行状况。
心跳检测DataNode的状态:namenode发现异常则在其他DataNode 上相互复制异常DataNode的Block。
数据流水线式写入。 安全模式:分布式文件系统启动时,开始进入安全模式,文件系 统中的内容不允许修改也 不允许删除。安全模式中系统检查 DataNode上数据块的有效性,根据策略复制或者删除block。运行 期通过命令也可以进入安全模式。
Map Reduce实例
Map Reduce <key,value> 转换过程
Map: (K1,V1) ------> list (K2,V2) Shuffle:list(k2,V2) ------> (K2,list(V2)) Reduce: (K2,list(V2)) ------> (K3,V3)
(1937, [1, -2]) (1945, [1,]) (1949, [111, 78]) (1950, [0, –11])
在reduce过程中,在列表中选择出最大的温度,将年-最大温度的key-value作 为输出:
(1937, 1) (1945, 1) (1949, 111) (1950, 22)
Amazon EC2 中的Hadoop: Amazon EC2 是一个计算服务,运行客户租 用计算机运行自己的应用,按活劢运行的时间计费。
微软近日宣布开发一个兼容Windows Server与Windows Azure平台的 Hadoop开源版本。 IBM、EMC、Oracle
HDFS系统分析
MapReduce:2004年 Google paper
Hadoop:起源于Apache开源项目Nutch
Hadoop体系架构---系统架构

HDFS:分布式文件系统,底层基于操作系统的文件系统。Googel GFS开源实现 MapReduce:2004年google paper,一个编程模型。 Hbase:基于HDFS,面向列的分布式数据库。Google的 BigTable开源 Hive:基于Hadoop的数据仓库架构,HDFS存储,MapReduce计算 Pig:类似于Hive,检索大批量数据,基于hdfs 、 MapReduce ZooKeeper:分布式协调系统,避免单点故障 Avro:RPC,data serialize and persistence Sqoop:HDFS和RMDB间数据转换工具
HDFS系统分析---系统结构(静态视图)
几个重要对象:
master/slave 管理节点(NameNode ) 工作节点(DataNode) 文件系统命名空间
元数据(Meta-data, 150B)
数据块(block)态视图)
Map Reduce实例
在map过程中,通过对每一行字符串的解析,得到年-温度的key-value对作为 输出:
(1950, 0) (1950, -11) (1949, 111) (1949, 78) (1937, 1) (1937, -2) (1945, 1)
Map Reduce实例
在reduce过程,将map过程中的输出,按照相同的key将value放到同一个列表 中作为reduce的输入
Hadoop体系架构---优势
高度可扩展:可劢态增加/削减计算节点,真正实现弹性计算。
经济:以运行在任何普通的PC上 高容错能力:支持任务自劢迁移、重试和预测执行,不受计算节点故障 影响。 可靠:分布式文件系统的备份恢复机制以及MapReduce的任务监控保 证了分布式处理的可靠性。 高效:分布式文件系统的高效数据交互实现以及MapReduce结合Local Data处理的模式,为高效处理海量的信息作了基础准备。 就近调度算法: 调度任务到最近的数据节点,有效降低网络带宽。 劢态灵活的资源分配和调度:达到资源利用最大化,计算节点不会出现 闲置和过载的情况;同时支持资源配额管理。
Name node Data node Client
写入(append??? no) 读取(stream、no seek、multi reader) 备份
HDFS系统分析---交互视图(写入)

Client发起文件写入(local cache block) 向NameNode申请DataNode(replication 个)。 NameNode根据文件大小和文件块配置情况,返回给Client它所管理部分DataNode的信息 Client根据DataNode的地址信息,写入到第一个DataNode块中。多个DataNode流水线写 入成功,并且client收到写入成功消息,后开始下一block的写入。 Client 关闭写入流,local cache中剩余数据流水线方式写入多个DataNode中。 写入异常: Client把异常节点从流水线中删除,继续向剩余节点写入数据。当namenode节点 发现block的备份数量不够时,再进行复制。
HDFS系统分析---交互视图(备份)
NameNode通过检查meta data发现部分文件的Block不符合最小复制数或者部分DataNode 失效。 通知DataNode相互复制Block。 DataNode之间直接相互复制block,复制成功向name node 上报自己的 block meta data。
HDFS系统分析---交互视图(读取)
Client向NameNode发起文件读取的请求。 NameNode返回文件存储的DataNode的信息,因此name node仅从内存中返回block等 meta data,不负责具体文件数据的传输,因此非常高效。这样就把数据传输的压力分散 到整个集群。 Client从data node中读取数据,若读取发生错误,会询问name node从最近的相邻节点重 新读取
Map Reduce系统分析
Map Reduce 简介
一个用于分布式数据处理的编程模型和运行环境。 设计原则
moving computation is more cheaper than moving data
如果数据是分布的,就要把计算也分布,让计算去尽量靠近数据, 最后再把计算结果数据进行汇总。
运行辅助namenode,定期通过编辑日志合并命名空间镜像。Slave namenode需要和 master namenode配置相同,在namenode挂掉后启动。但slave namenode 的数据滞后于 master,会丢失数据。
相关主题