摘要:
一、客户端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) { 阅读全文
摘要:
一、文件的打开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的 阅读全文
摘要:
1、Map-Reduce的逻辑过程假设我们需要处理一批有关天气的数据,其格式如下:按照ASCII码存储,每行一条记录每一行字符从0开始计数,第15个到第18个字符为年第25个到第29个字符为温度,其中第25位是符号+/-0067011990999991950051507+0000+0043011990999991950051512+0022+0043011990999991950051518-0011+0043012650999991949032412+0111+0043012650999991949032418+0078+0067011990999991937051507+0001+0043 阅读全文
摘要:
一、HDFS的基本概念1.1、数据块(block)HDFS(Hadoop Distributed File System)默认的最基本的存储单位是64M的数据块。和普通文件系统相同的是,HDFS中的文件是被分成64M一块的数据块存储的。不同于普通文件系统的是,HDFS中,如果一个文件小于一个数据块的大小,并不占用整个数据块存储空间。1.2、元数据节点(Namenode)和数据节点(datanode)元数据节点用来管理文件系统的命名空间其将所有的文件和文件夹的元数据保存在一个文件系统树中。这些信息也会在硬盘上保存成以下文件:命名空间镜像(namespace image)及修改日志(edit lo 阅读全文
摘要:
Components of Hadoop在上一章节我们了解了如何安装及配置Hadoop。我们了解了不同节点的作用以及这些节点是如何工作的,还了解了如何配置这些节点。现在我们可以运行Hadoop了,现在我们从程序的角度了解一下Hadoop框架。首先我们讲解HDFS,HDFS用来存储你的Hadoop应用的各种数据。之后我们讲解MapReduce框架的细节。第一章时,我们已经看到了MapReduce程序,但是我们只是停留在概念层。在这一章我们将进入Java类和方法层面,当然还包括如何部署。我们还会知道如何使用不同数据格式进行读写操作。Working with files in HDFS你可以将100 阅读全文
摘要:
之前持续关注分布式存储和分布式计算,现在是建立完整集群的时候了.在这一节,我们将使用下面的服务器名:1. master--- 主节点,主要用来运行NameNode和JobTracker服务.2. backup --- 用来运行Secondary NameNode服务.3. hadoop1,hadoop2,hadoop3…---运行DataNode和TaskTracker的从节点.修改之前伪分布式的骨架来配置这个分布式模式.复制所有这几个配置文件到所有的从服务器上,并且保证所有的从服务器的hdfs都格式化了.hdfs-site.xmlCode highlighting produced by.. 阅读全文
摘要:
Pseudo-distributed mode(伪分布式)伪分布式模式就是将所有hadoop程序运行在一台服务器上.这种模式将单机模式分割为各模块,主要还是用来debug你的程序,以便于测试内存占用量,HDFS input/output问题,已经各个deamons之间的交互等等.下面就是这种模式的配置例子:core-site.xml<?xml version=”1.0”?><?xml-stylesheet type=”text/xsl” href=”confi guration.xsl”?><!-- Put site-specifi c property overri 阅读全文
摘要:
Starting Hadoop内容简介:1. Hadoop 架构中的各个模块。2. 安装Hadoop,以及三种操作模式:单机,伪分布式,以及分布式。3. 安装基于web的Hadoop监控工具 这一章节将主要介绍如何安装Hadoop。如果你的工作不要安装Hadoop,或者已经完整安装了Hadoop,那么你也许想跳过这一章。不过通过这一章节你可以了解如何在你的开发环境中安装Hadoop,如果是这样,你可以略过一些配置的细节。在2.1章节,我们将介绍一下hadoop的各个组成部分。此后的2.2,2.3,和2.4我们将分别介绍如何安装 单机,伪分布式,以及分布式的Hadoop。2.5我们将介绍一些基于 阅读全文
摘要:
Hadoop介绍内容简介:1. 编写可扩展的,分布式的,海量数据处理的程序的基础2. 介绍hadoop与MapREduce3. 编写一个简单的MapReduce程序 今天,我们被数据所围绕,人们上传视频,手机拍照,给朋友发信息,更新facebook状态,论坛回帖,点击广告,等等.另外,机器本身也在不停的产生大量数据.甚至也许各位看官就在电脑旁读着电子书,当然,你的购买记录已经记录在书店的系统之中了.海量数据的不停增长,现在已经给各大厂商带来了极大地挑战.他们需要在以兆记的数据中挖掘出有用的信息,比如哪些网页是大众喜闻乐见的,等等信息.Google是第一个公布使用MapReduce系统来处理他们 阅读全文
摘要:
调用文件系统(FS)Shell命令应使用 bin/hadoop fs <args>的形式。 所有的的FS shell命令使用URI路径作为参数。URI格式是scheme://authority/path。对HDFS文件系统,scheme是hdfs,对本地文件系统,scheme是file。其中scheme和authority参数都是可选的,如果未加指定,就会使用配置中指定的默认scheme。一个HDFS文件或目录比如/parent/child可以表示成hdfs://namenode:namenodeport/parent/child,或者更简单的/parent/child(假设你配置 阅读全文