




已阅读5页,还剩86页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
.,1,Hadoop综述,.,2,主要内容,2,第一篇 HDFS 分布式文件系统第二篇 MapReduce 第三篇 Hbase简单介绍,.,3,第一篇HDFS,3,一: The Design of HDFS二: HDFS Concepts三:应用程序示例四:Data Flow,.,4,第一篇HDFS 分布式文件系统,.,5,1 The Design of HDFS,Very large files大数据集合为目标数以千万计的文件典型文件大小一般都在千兆至T字节Streaming data accesswrite-one-read-many访问模型文件创建、写,关闭之后不需要改变简化数据一致性适合MapReduce框架,或者web crawlerCommodity hardware错误检测和快速、自动的恢复是HDFS的核心架构目标,.,6,1 The Design of HDFS,Low-latency data access流式读为主比之关注数据访问的低延迟,更关键在于数据访问的高吞吐量arbitrary file modifications严格要求在任何时候只有一个writer 在文件尾在异构的软硬件平台间的可移植性移动计算Java编写,.,7,2 HDFS Concepts,blocksNamenodes and DatanodesThe Command-Line Interface通信接口,.,8,2.1 HDFS Concepts-blocks,files in HDFS are broken into block-sized chunks(64 MB by default) 减少元数据的量有利于顺序读写(在磁盘上数据顺序存放)副本的默认数目是3a file can be larger than any single disk in the network.making the unit of abstraction a block rather than a file simplifies the storage subsystem.,.,9,2.2 HDFS Concepts-Namenodes and Datanodes,Basic modelNamenodeDataNode心跳机制,.,10,2.2.1 HDFS Concepts-Namenodes and Datanodes- Basic model,Basic model:Master / Slaves / Client Corresponding implementation: Master NameNode SlavesDataNodes Client DFSClient,.,11,2.2.1 HDFS Concepts-Namenodes and Datanodes- Basic model,查看块信息hadoop fsck files blocks部分运行结果,.,12,2.2.2 HDFS Concepts-Namenodes and Datanodes- NameNode,manages the filesystem namespace元数据信息包括:文件信息,根目录 hdfs:/master:9000/每一个文件对应的文件块的信息每一个文件块在DataNode的信息persistent state of the filesystem metadata. Namenode folders structureNamenode namespace映像文件及修改日志客户端对文件的访问,.,13, HDFS Concepts-Namenodes and Datanodes- NameNode- manages the filesystem namespace,将所有的文件和文件夹的元数据保存在一个文件系统树中。在硬盘上保存成以下文件:命名空间镜像(namespace image)修改日志(edit log) 心跳信号传递信息(并不存储在硬盘):一个文件包括哪些数据块,分布在哪些数据节点上。系统启动的时候从Datanode收集而成的。Datanode在Namenode的指挥下进行block的创建、删除和复制。,.,14, HDFS Concepts-Namenodes and Datanodes- NameNode- persistent state of the filesystem metadata,对于任何对文件元数据产生修改的操作,Namenode都使用一个称为Editlog的事务日志记录下来。 例如,在HDFS中创建一个文件(打开、关闭、重命名文件和目录),Namenode就会在Editlog中插入一条记录来表示;同样,修改文件的replication因子也将往 Editlog插入一条记录。整个文件系统的namespace,包括block到文件的映射、文件的属性,都存储在称为FsImage的文件中,这个文件也是放在Namenode所在系统的文件系统上,.,15, HDFS Concepts-Namenodes and Datanodes- NameNode- persistent state of the filesystem metadata,块进行复制的形式放置,按照块的方式随机选择存储节点。a副本的默认数目是3,.,16, HDFS Concepts-Namenodes and Datanodes- NameNode- Namenode folders structure,namespaceID=1232737062cTime=0storageType=NAME_NODElayoutVersion=-18,VERSION文件是java properties文件,保存了HDFS的版本号。 layoutVersion是一个负整数,保存了HDFS的持续化在硬盘上的数据结构的格式版本号。 namespaceID是文件系统的唯一标识符,是在文件系统初次格式化时生成的。 cTime此处为0 storageType表示此文件夹中保存的是元数据节点的数据结构。,.,17, HDFS Concepts-Namenodes and Datanodes- NameNode-Namenode-Namenode文件系统命名空间映像文件及修改日志,客户端操作(打开、关闭、重命名文件和目录)NameNode将对文件系统的改动追加保存到本地文件系统上的一个日志文件(edits)NameNode启动从映像文件(fsimage)中读取HDFS的状态接着应用日志文件中的edits操作新的HDFS状态写入(fsimage)中使用一个空的 edits文件开始正常操作。 写操作成功之前,修改日志都会同步(sync)到文件系统。fsimage命名空间映像文件,是内存中的元数据在硬盘上的checkpointNameNode只有在启动阶段合并fsimage和edits,日志文件会变大,.,18,2.2.3 HDFS Concepts-Namenodes and Datanodes- DataNodes,文件存储的基本单元保存Block的Meta-data周期性地将所有Block信息发送给NameNode。文件夹结构,blk_保存的是HDFS的数据块,其中保存了具体的二进制数据。blk_.meta保存的是数据块的属性信息:版本信息,类型信息,和checksum 目录中数据块到达一定数量,创建子文件夹,.,19,2.2.4 HDFS Concepts-Namenodes and Datanodes-心跳机制,master启动,开一个ipc serverslave启动每隔3秒向master发送 “心跳”状态信息告诉mastermaster通过心跳的返回值,向slave节点传达指令周期性接收 “心跳”和BlockreportDatanode上所有block组成列表,.,20,2.3 HDFS Concepts-Namenodes and Datanodes- The Command-Line Interface,interacting with HDFShadoop fs mkdir input hdfs:/master:9000/user/coole在hdfs:/master:9000/user/coole下新建input目录,.,21,2.5 HDFS Concepts-Namenodes and Datanodes-通信接口,对通信的对象进行序列化自己的序列化系统。org.apache.hadoop.io中定义可序列化对象,实现了Writable接口,.,22,3 Hadoop应用程序示例,/在hdfs:/master:9000/user/coole目录下创建文件并写入内容public class DFSOperator public static void main(String args) Configuration conf = new Configuration(); try FileSystem fs = FileSystem.get(conf);Path t = new Path(hdfs:/master:9000/user/coole/dfs_operator.txt); FSDataOutputStream os = fs.create(t,true); int i = 0; for (i = 0 ;istring,.,76,Hbase数据模型 行,每一行都有一个可排序的主键和任意多的列。行关键字可以是任意字符串表用行键即主键排序,通过主键访问表。在一个行关键字下的每一个读写操作都是原子操作 有利于同行并发操作举例,在Webtable里,通过反转URL中主机名的方式,可以把同一个域名下的网页组织成连续行。,.,77,Hbase数据模型 列族,每行列分组形成列族:“:”每张表有一个family集合,固定不变,相当于表结构列族成员有相同前缀。OK:a与OK:b都属于OK列族成员同一列族下存放的所有数据通常都是同一类型列族必须先创建,然后能在其中的列关键字下存放数据,动态增加列限定词任意字符串。比如,Webtable列族是anchor;给列族的每一个列关键字代表一个锚链接物理存储列族成员在文件系统存在一起,(确切)面向列族。这是访问控制的基本单位。,.,78,Hbase数据模型 时间戳,表中每一个表项都可以包含同一数据的多个版本不同版本的表项内容按时间戳倒序排列,即最新的排在前面。自动进行垃圾清除。用户可以指明只保留表项的最后n个版本在Webtable中,在contents:列中存放确切爬行一个网页的时间戳。如上的垃圾清除机制可以让我们只保留每个网页的最近三个版本。,.,79,Hbase数据模型,行名是一个反向URL即n.www。contents列族存放网页内容anchor列族存放引用该网页的锚链接文本。CNN的主页被Sports Illustrater和MY-look的主页引用,因此该行包含了名叫“anchor:”和 “anchhor:my.look.ca”的列。列名字的格式是: 时间戳 每个锚链接只有一个版本,由时间戳标识,如t9,t8;而contents列则有三个版本,分别由时间 戳t3,t5,和t6标识。,一个存储Web网页的例子的表的片断,.,80,Hbase数据模型 概念视图,一个表可以想象成一个大的映射关系,通过主键,或者主键+时间戳,可以定位一行数据,由于是稀疏数据,所以某些列可以是空白的,下面就是数据的概念视图:,.,81,Hbase数据模型物理视图,在物理存储上面,它是按照列来保存的,在概念视图上面有些列是空白的,这样的列实际上并不会被存储如果在查询的时候不提供时间戳,返回最新版本,.,82,区域(tablet),表横向分不同区域,各区域代表所有行一个子集区域确定:第一行(包含)最后行(不含)+随机标识表初始单个区域-逐渐扩大超过阈值-以行为界分割区域分散在HBase集群上单元Bigtable通过行关键字的字典序来维护数据。动态划分成多个连续行叫做“子表”(tablet)是数据分布和负载均衡的单位。这样一来,读较少的连续行就比较有效率,.,83,架构与实现,Hbase由主节点master多个区域服务器regionserver从结点Master分配区域给已注册的区域服务器Regionserver负责0到多个区域,响应客户端读写请求通知master分裂成子区域信息,.,84,特性,无真正索引行顺序,无索引膨胀问题,插入操作性能与表大小无关自动分区商用硬件建立在1000-5000节点,RDBMS非常消耗IO?,.,85,Hbase API,BT的提供了建立和删除表和列族的函数还提供了函数来修改集群,表和列族的元数据,比如说访问权限,.,86,Hbase API: 写入Bigtable.,/ Open the tableTable *T = OpenOrDie(”/bigtable/web/webtable”);/ Write a new anchor and delete an old anchorRowMutation r1(T, “n.www”);r1.Set(”anchor:”, “CNN”);r1.Delete(”anchor:”);Operation op;Apply(,.,87,Hbase API: 写入Bigtable.,在中,客户应用可以写或者删除值,从每个行中找值,或者遍历一个表中的数据子集图2的代码是使用RowMutation抽象表示来进行一系列的更新(为保证代码精简,没有包括无关的细节)调用Apply函数,就对ebtable进行了一个原子修改:它为/增加了一个锚点,并删除了另外一个锚点,.,88,Hbase API: 读Bigtable.,Scanner scanner(T);ScanStream *stream;stream = scanner.FetchColumnFamily(”anchor”);stream-SetRetu
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025技术咨询合同特点
- 2025年医患关系与医疗合同立法研究:从合同角度探讨医疗纠纷的根源控制
- 2025保险公司办公室租赁合同
- 2025合同范本:担保保证合同样本
- 内科笔试备忘录:重要知识点及模拟题目
- 探究小说的意蕴
- 探究小说主题意蕴
- 农业基础设施风险评估-洞察及研究
- 边缘计算过滤加速-洞察及研究
- 医疗数据隐私保护-第11篇-洞察及研究
- 2025年造价工程师-水运工程造价工程师历年参考题库含答案解析(5套典型题)
- 2025年医学三基考试(医师)三基考试真题(含答案)
- 2025年继续教育公需课考试试题及答案
- 物业经理竞聘汇报
- 华为大学管理办法
- 2025年卫生系统招聘考试-卫生系统招聘考试(预防医学专业知识)历年参考题库含答案解析(5卷套题【单项选择题100题】)
- 2025年全科医生考试试题及答案
- 2025年全国职业病防治知识竞赛试题含答案
- DB5308-T 74-2023 景迈山古茶林保护管理技术规范
- 公司科技研发管理办法
- 银行保安制度管理办法
评论
0/150
提交评论