- 博客(8)
- 资源 (7)
- 问答 (1)
- 收藏
- 关注
原创 HDFS-文件数据流传输实现模块
在3.1.9章节中我们已经详细讲述了Client在需要上传文件时,需要进行的操作以及相关实现模块,这一章节我们着重讲述datanode一侧支持数据传输的重要模块。DataXceiverServer:datanode在启动以后会首先初始化一个DataXceiverServer对象实例,这个对象是实现了Runnable接口的对象,它附着于一个特定线程监听在特定端口。public
2009-11-20 15:52:00 2260
原创 HDFS-文件数据流读取传输协议
DFSClient从Namenode取得需要读取的文件对应的LocatedBlocks信息以后,就会按照block的顺序与datanode建立链接并发送读取block数据的请求。我们看一下这部分的协议格式:4字节数据传输协议版本号(0.19.1版本的hadoop这个字段为14)4字节操作码(读取文件时为:OP_READ_BL
2009-11-20 15:51:00 1798
原创 HDFS-Datanode关于block文件的管理
数据文件真正存储的地方是在datanode,当用户需要填充文件中某一个block的实际数据内容时,就需要连接到datanode进行实际的block写入操作,下面我们看一下datanode如何管理block,以及如何存储block。Datanode是通过文件存储block数据的,datanode中有一个FSDatasetInterface接口,这个接口的主要作用就是对block对应的实际数
2009-11-20 15:45:00 4473
原创 HDFS文件创建流程
在lease一章我们已经对文件创建流程有了一个大致了解,文件的创建主要是通过提供给用户前项层工具抽象类FileSystem,针对于HDFS这个类的具体实现为DistributedFileSystem。文件夹的创建是一个相对简单的过程,主要是通过FileSystem中的mkdirs()方法,这个方法在DFSClient实例中调用同名方法mkdirs(),通过Hadoop本身的RPC机制
2009-11-20 15:40:00 4262
原创 HDFS-block与DataNode对应信息管理模块儿
上文已经提到,HDFS中存储数据的最小单位是BLOCK,一个文件对应的所有BLOCK全部按照一定的部署策略存在于DataNode上;我们也提到namenode负责存储文件系统的元数据信息(文件目录结构,以及文件包含的所有block). 当client用户请求读取某个文件时,client首先通过RPC的方式调用NameNode上的服务模块,得到一个文件包含的所有BLOCK列表,以及这些Bloc
2009-11-20 15:38:00 3721
原创 HDFS文件元数据信息管理模块
设计思想HDFS中对数据存储的最小单位为block,HDFS会将其存储的大文件打散成很多64M大小的block,并将这些block分别存储在集群中datanode机器上。服务器namenode主要存储文件元数据信息(文件目录结构,具体文件由那些block组成),该部分主要涉及的关键对象为:INode,INodeFile,INodeDirectory,Block,BlockInfo,FS
2009-11-20 15:35:00 3645
原创 hadoop公共模块RPC实现机理
该模块儿是整个hadoop平台命令类协议通讯的基础,Hadoop平台中所有的协议调用都是通过该套机制进行实现。 术语解释:远程进程调用client调用远程Server中某实例的方法。。具体实现:远程过程调用,一定通过网络进行方法参数以及返回值信息传输,该模块儿主要采用通用的网络Server设计实现方式,利用Socket构建Server服务器,并在其上构造一个具体业
2009-11-20 15:29:00 2264
原创 mapreduce编程模型介绍
任何技术点在你未曾接触过的时候,都是觉得雾里看花,水中望月,既遥远又神秘,但是当你尝试学习并通过实践对其脉络掌握清楚以后,就会觉得原来这么简单,技术就是那么一回事儿。mapreduce分布式编程模型是google在2004年提出来的,目的是为了解决海量数据的处理,我们通过一段时间的应用,对mapreduce编程的实现机理有了一定了解,现总结如下,希望能为应用开发者提供帮助,我尽量阐述
2009-11-20 15:23:00 3020 3
MapReduce中文翻译
2008-11-07
gitlab安装出现的问题
2015-05-28
TA创建的收藏夹 TA关注的收藏夹
TA关注的人