摘要: 一、客户端Map-Reduce的过程首先是由客户端提交一个任务开始的。提交任务主要是通过JobClient.runJob(JobConf)静态函数实现的:public static RunningJob runJob(JobConf job) throws IOException { //首先生成一个JobClient对象 JobClient jc = new JobClient(job); …… //调用submitJob来提交一个任务 running = jc.submitJob(job); JobID jobId = running.getID(); …… while (true) { 阅读全文
posted @ 2012-03-15 21:34 daniel.deng 阅读(262) 评论(0) 推荐(0) 编辑
摘要: 一、文件的打开1.1、客户端HDFS打开一个文件,需要在客户端调用DistributedFileSystem.open(Path f, int bufferSize),其实现为:public FSDataInputStream open(Path f, int bufferSize) throws IOException { return new DFSClient.DFSDataInputStream( dfs.open(getPathName(f), bufferSize, verifyChecksum, statistics));}其中dfs为DistributedFileSystem的 阅读全文
posted @ 2012-03-15 21:31 daniel.deng 阅读(216) 评论(0) 推荐(0) 编辑
摘要: 一、HDFS的基本概念1.1、数据块(block)HDFS(Hadoop Distributed File System)默认的最基本的存储单位是64M的数据块。和普通文件系统相同的是,HDFS中的文件是被分成64M一块的数据块存储的。不同于普通文件系统的是,HDFS中,如果一个文件小于一个数据块的大小,并不占用整个数据块存储空间。1.2、元数据节点(Namenode)和数据节点(datanode)元数据节点用来管理文件系统的命名空间其将所有的文件和文件夹的元数据保存在一个文件系统树中。这些信息也会在硬盘上保存成以下文件:命名空间镜像(namespace image)及修改日志(edit lo 阅读全文
posted @ 2012-03-15 21:18 daniel.deng 阅读(163) 评论(0) 推荐(0) 编辑