- 浏览: 21498 次
- 性别:
- 来自: 长春
最近访客 更多访客>>
最新评论
-
xxjjyy2008:
你的代码我运行报错。。。11/12/08 12:48:39 I ...
Hadoop The Definitive Guide 2nd Edition 读书笔记1 -
dongtianzhe:
恩,谢谢提醒,笔误leibnitz 写道很好,这么快就看2nd ...
Hadoop The Definitive Guide 2nd Edition 读书笔记4 -
leibnitz:
很好,这么快就看2nd了!确认一下,上面的描述中:能力调度算法 ...
Hadoop The Definitive Guide 2nd Edition 读书笔记4
文章列表
之前我们学习了MapReduce的执行过程,下面我们看一下MapReduce执行过程中输入和输出所涉及到的数据结构。
输入格式:
通过之前的学习,我们知道在执行mapreduce之前,原始数据被分割成若干split,每个split作为一个map任务的输入 ...
MapReduce工作流程:
job提交流程:
1.client节点在提交job之前,先要求JobTracker分配一个新的job id;
2.检查输出路径是否已经存在,如果存在则报错;
3.将job划分成inputsplit,mapreduce程序是以inputsplit作为单位执行的,这些splits会拷 ...
事件处理是指一个事件的发生引发了一系列的相关活动,这些活动可以动态的添加和删除。比如我们点一个按钮,可以触发很多的操作,我们可以注册一些活动给这个事件,也可以注销一些活动。观察者模式是解决事件处理一个很给力的机制,我们将要触发的活动作为Observer注册给事件,当事件发生的时候所有Observer会收到消息进行不同的操作。利用Boost::Signal库可以方便的实现观察者模式。
boost::signal是事件类,可以为事件注册多个事件处理器(也可以被称为插槽),这里的事件处理器是值符合signal要求的函数或者函数对象,看一个例子:
#include <boost/signal ...
所谓的函数对象是指那些可以被传入到其他函数或者从其他函数返回的那一类函数。
boost::bind:
在C++标准库中有两个绑定器:std::bind1st和std::bind2nd,他们可以指定给定函数对象的参数。看下面的例子:
#include <iostream>
#include <vector>
#include <algorithm>
#include <functional>
class add
: public std::binary_function<int, int, void>
{ ...
第四章是介绍Hadoop的IO系统,前面介绍的是数据完整性的方案,无外乎就是校验和等机制,接着介绍的是hadoop中的压缩机制,这两块内容后续仔细阅读。
串行化:
Hadoop的进程间通信和持久化保存的时候都要用到串行化的技术。 ...
智能指针的原理是基于RAII:申请资源即初始化。一个动态分配的对象由智能指针管理,在任何情况下动态分配的内存都能得到正确释放,从而将开发人员从这项任务中解放了出来。
作用域指针:
boost::scoped_ptr,一个作用域指针 ...
第三章介绍的是Hadoop的分布式文件系统HDFS相关的内容。主要介绍HDFS组成部分和操作接口。
HDFS的架构:
HDFS采用成熟的Master/Slaves架构,其中Master称为Namenode,Slave称为Datanode。Namenode存储文件系统的元数据信息,它维护者整个文件的系统的目录树和所有文件的文件和索引目录,他们以命名空间镜像(fsimage)和编辑日志(edit log)的形式存贮在namdnode本地文件系统中。Datanode存储实际的数据。
HDFS的设计目标:
HDFS是为了存储超大文件而设计的文件系统,文件的访问特点是一次写入多次读取,每次操作都是 ...
最近在研究hadoop和云计算,但是hadoop是java写的,在hadoop上编写程序也要用java,所以最近可能会经常使用java。为了防止忘记C++,今天决定开始研究一下boost库。
先把boost装到ubuntu吧。
下载boost_1_43_0.tar.gz到/home/dtz/下,解压 tar zxvf boost_1_43_0.tar.gz
cd boost_1_43_0,
执行:
sudo ./bootstrap.sh
sudo ./bjam install
这样boost库就安装好了,下面编写一个例子测试一下:
#include <iostream> ...
Hadoop The Definitive Guide 2nd Edition是我读的关于hadoop的第一本书,对于处于新手阶段的我,这本书对我的帮助很大,这本书从hadoop的起源开始逐步讲解hadoop,可能是因为作者也是hadoop项目中的一个成员吧,对于hadoop讲解的十分到位。好记性不如烂笔头,今天开始做些笔记,方便日后查看。
第一章主要介绍了Hadoop的起源和一些其他分布式系统的比较,也介绍了hadoop的发展事记。现在随着云计算的发展,hadoop异常火爆,就拿我这段时间应聘的公司来说,不管是知名的互联网企业还是国企研究所,基本上每个公司都会有类似的描述“熟悉海量数据处理者 ...
在研究hadoop之前,有必要将hadoop两个核心技术HDFS和MapReduce了解一下,做好的资料当然就是google的两篇论文了。现将Hadoop中MapReduce的执行流程总结如下:
用户提交的称为Job,每个Job会被切分成很多数据集,每个数据集作为Map的输入,称为一个task。
InputFormat将输入的数据集切割成小数据集 InputSplits, 每一个 InputSplit 将由一个 Mapper 负责处理。此外 InputFormat 中还提供一个 RecordReader 的实现, RecordReader 将一个 InputSplit 解析成 <key ...
看hadoop也有一段时间了,今天花了一些时间把整个开发环境搭起来了,期间遇到了不小的麻烦,经过查阅大量资料,终于搞定了!
由于我的电脑配置不好,所以在实验室ubuntu服务器上搭建了单机的环境,然后再我的电脑用eclipse上传编写好的程序。
1.安装JDK6
这个不用多说,下一个bin文件,修改一下权限,配置一下环境变量就可以了。
2. 配置SSH
新增hadoop组及同名用户:
$ sudo addgroup hadoop
$ sudo adduser --ingroup hadoop hadoop
接下来做些特别的工作:
$ su
$ chmod u+x /etc/s ...