自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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

linux奥秘-非常不错介绍linux实现原理的文章

linux奥秘-非常不错介绍linux实现原理的文章

2010-03-19

avl树测试代码-经测试可用

休假期间完成的avl树代码,实现了插入操作,基本演示了avl树生成过程和原理

2010-03-19

目前见到的最精美的bash中文手册

目前见到的最精美的bash中文手册,配以操作截图,通俗易懂

2009-12-14

kademlia论文(英文版)

kademlia论文(英文版),详细介绍了DHT的实现

2009-11-24

C++回溯法解决八皇后问题-源码

最近负责招聘,面试别人的时候自己也温习一下算法,呵呵,就用C++随便写了一个 呵呵

2009-11-20

MapReduce中文翻译

MapReduce中文翻译,MapReduce是一个编程模型、和处理,产生大数据集的相关实现。用户指定一个map函数处理一个key/value对,从而产生中间的key/value对集。然后再指定一个reduce函数合并所有的具有相同中间key的中间value。下面将列举许多可以用这个模型来表示的实际工作。

2008-11-07

LinuxC函数详解

所有linux下C函数原形及其说明

2008-02-18

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除