Hadoop
文章平均质量分 85
和大黄
这个作者很懒,什么都没留下…
展开
-
HDFS的缺点及改进策略
HDFS是一个不错的分布式文件系统,它有很多的优点,但也存在有一些缺点。目前而言,它在以下几个方面就效率不佳: 低延时访问 HDFS不太适合于那些要求低延时(数十毫秒)访问的应用程序,因为HDFS是设计用于大吞吐量数据的,这是以一定延时为代价的。HDFS是单Master的,所有的对文件的请求都要经过它,当请求多时,肯定会有延时。当前,对于那些有低延时要求的应用程序,HBase是一个更好转载 2010-12-06 22:23:00 · 1367 阅读 · 0 评论 -
MapReduce源码分析总结
参考: 1 caibinbupt的源代码分析http://caibinbupt.javaeye.com2 coderplay的avaeye http://coderplay.javaeye.com/blog/295097http://coderplay.jav原创 2010-07-10 14:46:00 · 22114 阅读 · 9 评论 -
mapreduce编程(一)-二次排序
mr自带的例子中的源码SecondarySort,我重新写了一下,基本没变。这个例子中定义的map和reduce如下,关键是它对输入输出类型的定义:(java泛型编程) public static class Map extends Mapperpublic st原创 2010-09-17 10:06:00 · 18954 阅读 · 10 评论 -
mapreduce编程(二)- 大象书中求每一年的最高温度
书上的例子是为了取出一年当中气温最高的值,那么将年份和气温做了一个复合的key. 1 通过设置了partitioner来进行分区。因为分区是按照年份来进行,所以同年的数据就可以分区到一个reducer中。2 自定义key比较器,按照年份升序,温度值降序。这样map输出的所原创 2010-09-17 10:21:00 · 5611 阅读 · 2 评论 -
Bloom Filter
http://blog.csdn.net/jiaomeng/archive/2007/01/27/1495500.aspxBloom Filter是一种空间效率很高的随机数据结构,它利用位数组很简洁地表示一个集合,并能判断一个元素是否属于这个集合。Bloom Filter的这种高效是有一定代价的:在判断一个元素是否属于某个集合时,有可能会把不属于这个集合的元素误认为属于这个集合(false positive)。因此,Bloom Filter不适合那些“零错误”的应用场合。而在能容忍低错误率的应用场合下,B原创 2011-03-29 21:48:00 · 1736 阅读 · 0 评论 -
Hadoop RPC 实例
Datanode要向Namenode发送请求,希望得到一个字符串应答。假设Namenode的地址是127.0.0.1:9000一、配置文件org.apache.hadoop.conf. Configuration;对应的配置文件是core-site.xml。配置项以key-value的形式存储。 二、用户需要自己定义一个协议接口来封装所有客户端向服务端发送的请求,该接口必须继承自org.apache.hadoop.ipc.VersionedProtocol。接口中的versionID用来标识不同的协议。三、原创 2011-03-27 19:51:00 · 5203 阅读 · 1 评论 -
hadoop的DFSOutputStream
<br />当我们用命令:<br /><br />hadoop fs -copyFromLocal localfile hdfs://...<br />将本地文件复制到HDFS时,其背后的复制过程是怎样的?本地文件通过什么方式传输到datanode上的呢?<br /><br />这里面很显然的是:<br />1、文件在多个电脑之间进行了传输(至少有2台电脑:本地电脑和一个datanode节点)。<br />2、如果文件超过一个block的大小(默认是64M),那么将一个文件分割成多个block是在哪里发生的转载 2011-03-20 20:58:00 · 4284 阅读 · 0 评论 -
Google核心技术-分布式基础设施
按:此为客座博文系列。投稿人吴朱华曾在IBM中国研究院从事与云计算相关的研究,现在正致力于研究云计算技术。本系列文章基于公开资料对Google App Engine的实现机制这个话题进行深度探讨。在切入Google App Engine之前,首先会对Google的核心技术和其整体架构进行分析,以帮助大家之后更好地理解Google App Engine的实现。本篇将主要介绍Google的十个核心技术,而且可以分为四大类:分布式基础设施:GFS、Chubby 和 Protocol Buffer。分布式大规模数转载 2011-02-25 09:13:00 · 2749 阅读 · 0 评论 -
云计算三种服务模式
三种服务模式根据现在最常用,也是比较权威的NIST(National Institute of Standards and Technology,美国国家标准技术研究院)定义,云计算主要分为三种服务模式,而且这个三层的分法重要是从用户体验的角度出发的:Software as a Service,软件即服务,简称SaaS,这层的作用是将应用作为服务提供给客户。Pl转载 2011-10-30 10:42:04 · 21394 阅读 · 0 评论 -
HBase技术介绍
http://www.searchtb.com/2011/01/understanding-hbase.html一 HBase简介HBase – Hadoop Database,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群。HBase是Google Bigtable的开源实现,类似Goog转载 2011-10-31 13:21:22 · 3793 阅读 · 0 评论 -
zookeeper
zookeeper节点介绍------------------------------------zookeeper的数据模型基于目录结构,如下:其中每个单独的长方形()我们称之为一个节点(znode),节点(znode)的全名称是整个目录名,比如subapp2节点的全节点名称是/apps/app3/subapp2。 每个znode由3部分组成:stat. 此为状态信息, 描述该znode的版本转载 2015-01-25 20:36:49 · 7275 阅读 · 0 评论 -
zookeeper的集群安装
1、下载wget http://mirror.bit.edu.cn/apache/zookeeper/stable/zookeeper-3.4.6.tar.gz2、解压安装tar -xzvf zookeeper-3.4.6.tar.gz3、设置相关环境变量export JAVA_HOME=/opt/jdk1.6.0_45export ZOOKEEPER_HO原创 2014-12-10 10:16:21 · 1341 阅读 · 0 评论 -
ZooKeeper 节点类型
ZooKeeper 节点是有生命周期的,这取决于节点的类型。在 ZooKeeper 中,节点类型可以分为持久节点(PERSISTENT )、临时节点(EPHEMERAL),以及时序节点(SEQUENTIAL ),具体在节点创建过程中,一般是组合使用,可以生成以下 4 种节点类型。持久节点(PERSISTENT)所谓持久节点,是指在节点创建后,就一直存在,直到有删除操作来主动转载 2014-08-21 23:31:48 · 48265 阅读 · 1 评论 -
storm
安装Java 6wget --no-check-certificate --no-cookies --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2Ftechnetwork%2Fjava%2Fjavase%2Fdownloads%2Fjdk7-downloads-1637583.html;" http://download.oracl转载 2013-08-09 14:20:37 · 4348 阅读 · 0 评论 -
hive动态分区与静态分区
http://blog.csdn.net/inte_sleeper/article/details/8106142HIVE分区,实际上是通过一个路径来标识的,而不是在物理数据中。比如每天的数据,可能分区是pt=20121023这样,那么路径中它就会变成:/hdfs/path/pt=20121023/data_files。通过路径来标识的好处是,如果我们需要取特定分区的数据,只需要把这个转载 2013-03-17 11:07:01 · 1890 阅读 · 0 评论 -
基于mapreduce的Hadoop join实现
对于一个大数据的分析应用,join是必不可少的一项功能.现在很多构建与hadoop之上的应用,如Hive,PIG等在其内部实现了join程序,可以通过很简单的sql语句或者数据操控脚本完成相应的Join工作.那么join应该如何实现呢?今天我们就对join做一个简单的实现.我们来看一个例子,现在有两组数据:一组为单位人员信息,如下:人员ID 人员名称 地址ID1 张三 12 李转载 2011-11-03 22:12:03 · 5159 阅读 · 1 评论 -
Bigtable Merge-Dump存储引擎
http://www.udpwork.com/item/4066.html单机存储引擎解决单机读写问题,Merge-Dump存储引擎设计成一种通用的存储引擎,同时支持数据写入,随机读取和顺序扫描功能。顺序扫描功能应用很广,比如MapReduce批处理,同一个广告主的所有关键词广告统计,用户浏览所有的收藏信息,淘宝卖家管理大量的商品等。简单的KV系统只需要支持随机读取,而类似Bigtab转载 2011-10-31 20:55:39 · 1888 阅读 · 0 评论 -
Cassandra存储机制
form http://www.ningoo.net/html/tag/sstable在2009年兴起的NoSQL运动中,Cassandra是其中重要的一个分布式key-value数据库产品,由Facebook在2008年开源,目前是Apache的顶级项目。最近twitter的一篇声明,表示将从MySQL迁移到Cassandra,更让其声名大振。Cassandra是结合了Google Bi转载 2011-07-29 13:54:58 · 1298 阅读 · 0 评论 -
Hadoop配置注意事项
经验总结和注意事项(这部分是我在使用过程中花了一些时间走的弯路): Master和Slave上的几个conf配置文件不需要全部同步,如果确定都是通过Master去启动和关闭,那么Slave机器上的配置不需要去维护。但如果希望在任意一台机器都可以启动和关闭Hadoop,那么就需要全部保持一致了。 Master和Slave机器上的/etc/hosts中必须把集群中机器都配置上去,就转载 2010-04-09 19:36:00 · 1406 阅读 · 0 评论 -
分布式基础学习【二】 —— 分布式计算系统(Map/Reduce)
二. 分布式计算(Map/Reduce)分布式式计算,同样是一个宽泛的概念,在这里,它狭义的指代,按GoogleMap/Reduce框架所设计的分布式框架。在Hadoop中,分布式文件系统,很大程度上,是为各种分布式计算需求所服务的。我们说分布式文件系统就是加了分布式的文件系统,类似的定义推广到分布式计算上,我们可以将其视为增加了分布式支持的计算函数。从计算的角度上看,Map/转载 2010-04-09 19:32:00 · 1902 阅读 · 0 评论 -
分布式基础学习【一】 —— 分布式文件系统
所谓分布式,在这里,很狭义的指代以Google的三驾马车,GFS、Map/Reduce、BigTable为框架核心的分布式存储和计算系统。通常如我一样初学的人,会以Google这几份经典的论文作为开端的。它们勾勒出了分布式存储和计算的一个基本蓝图,已可窥见其几分风韵,但终究还是由于缺少一些实现的代码和示例,色彩有些斑驳,缺少了点感性。幸好我们还有Open Source,还有转载 2010-04-09 19:30:00 · 2194 阅读 · 0 评论 -
单机伪分布式运行hadoop
1) Java环境的安装与配置 2) 安装Hadoop从hadoop官网下载hadoop-0.20.2.tar.gz ,解压 tar zxvf hadoop-0.20.0.tar.gz在hadoop-env.sh 中添加export JAVA_HOME=/home/heyutao/tools/jdk1.6.0_20export HADOOP_HOME=/home/hey原创 2010-04-03 11:58:00 · 4042 阅读 · 0 评论 -
HDFS写文件解析
我们看一下创建文件,写文件最后关闭文件的流程。如下图: 1. client通过调用DistributedFileSystem的create方法来创建文件。2. DistributedFileSystem通过RPC调用NameNode在文件系统的名字空间里创建一个文件,这个时候还没有任何block信息。DistributedFileSystem返回FSDataOutpu转载 2010-04-13 15:55:00 · 1280 阅读 · 0 评论 -
HDFS读文件解析
下图描述了在文件读过程中,client、NameNode和DataNode三者之间是如何互动的。1. client调用get方法得到HDFS文件系统的一个实例(DistributedFileSystem)。然后调用它的open方法。2. DistributedFileSystem通过RPC远程调用NameNode决定文件文件的block的位置信息(通过它的属性DFSCli转载 2010-04-13 16:43:00 · 1568 阅读 · 0 评论 -
HDFS的元数据持久化
dfs.name.dir这个参数设置HDFS的元数据信息存放在本地操作系统的目录,如果有多个目录用逗号分开。目录里的文件示例见下图 1049092 2009-11-12 09:15 edits 17678000 2009-11-12 08:50 fsimage 8 2009-11-12 08:5转载 2010-04-09 15:06:00 · 2224 阅读 · 0 评论 -
原创 HDFS的副本放置策略(机架感知 rack awareness)
topology.script.file.name HDFS不能够自动判断集群中各个datanode的网络拓扑情况。这种机架感知需要topology.script.file.name属性定义的可执行文件(或者脚本)来实现,文件提供了IP->rackid的翻译。NameNode通过这个得到集群中各个datanode机器的rackid。如果topology.script.转载 2010-04-23 10:18:00 · 1875 阅读 · 0 评论 -
HBase (3)---框架结构及流程
HBASE依托于Hadoop的HDFS作为存储基础,因此结构也很类似于Hadoop的Master-Slave模式,Hbase Master Server 负责管理所有的HRegion Server,但Hbase Master Server本身并不存储HBASE中的任何数据。HBASE逻辑上的Table被定义成为一个Region存储在某一台HRegion Server上,HRegion Server 与Region的对应关系是一对多的关系。每一个HRegion在物理上会被分为三个部分:Hmemcache转载 2010-07-26 17:26:00 · 9085 阅读 · 1 评论 -
HBase (2)---数据存储结构
<br /> <br />在本文中的HBase术语:<br />基于列:column-oriented<br />行:row<br />列组:column families<br />列:column<br />单元:cell<br /> <br />理解HBase(一个开源的Google的BigTable实际应用)最大的困难是HBase的数据结构概念究竟是什么?首先HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库.另一个不同的是HBase基于列的而不是基于行的模转载 2010-07-26 17:24:00 · 17068 阅读 · 3 评论 -
HBase (1)---数据模型
HBase是一个针对结构化数据的可伸缩、分布式和面向列的动态模式数据库。它能有效和可靠地管理分布在数千个商品服务器上的大规模数据(千兆兆字节或更多)。HBase 根据 Google 的 Bigtable 数据库建模,是 Apache Software Foundation 的 Hadoop项目的子项目。注意:在撰写本文时,HBase 的最新版本是 V0.19.3。本文提供的信息适用于这个版本。HBase 数据模型HBase 数据被建模为多维映射,其中值(表单元)通过 4 个键索引: value转载 2010-07-26 17:08:00 · 12176 阅读 · 0 评论 -
Doug Cutting Interview
在看HADOOP的时候认识了Doug Cutting,Hadoop 团队早在 06 年就成立了,当然,这个团队成立的前提是 Doug Cutting 入职雅虎。于是上网一查才知道他就是著名的全文搜索引擎 Lucene 和 Nutch的创始人。下面是Doug Cutting Interview的原文,译文在网上一搜就有了Doug Cutting is primar转载 2010-05-24 11:15:00 · 1630 阅读 · 0 评论 -
实现hadoop中的机架感知(Rack aware)
原理hadoop中声明是有机架感知的功能,能够提高hadoop的性能。平时我们使用的hadoop集群,实际上是从来没有使用上这个功能的。 hadoop中所说的机架感知的实现实际上这样的: hadoop启动时会检查hadoop-default.xml和hadoop-site.xml中的一个配置选项:topology.script.file.name,如果这个选项不为空,h转载 2010-05-17 14:42:00 · 7249 阅读 · 1 评论 -
Network Topology and Hadoop
<!-- @page { margin: 2cm } P { margin-bottom: 0.21cm }--> <!-- @page { margin: 2cm } P { margin-bottom: 0.21cm }-->大象书P64Network翻译 2010-05-16 14:01:00 · 5730 阅读 · 1 评论 -
HDFS File System Shell Guide 转自Hadoop docs
OverviewThe FileSystem (FS) shell is invoked by bin/hadoop fs . All FS shell commands take path URIs as arguments. The URI format is scheme://autority/path. For HDFS the scheme is hdfs, and for翻译 2010-05-16 16:39:00 · 1905 阅读 · 0 评论 -
HDFS架构和设计要点
原文:http://hadoop.apache.org/core/docs/current/hdfs_design.html一、前提和设计目标1、硬件错误是常态,而非异常情况,HDFS可能是有成百上千的server组成,任何一个组件都有可能一直失效,因此错误检测和快速、自动的恢复是HDFS的核心架构目标。2、跑在HDFS上的应用与一般的应用不同,转载 2010-04-09 14:58:00 · 2390 阅读 · 1 评论