摘要:
引最近关注Hadoop,因此也顺便关注了一下Hadoop相关的项目。HBASE就是基于Hadoop的一个开源项目,也是对Google的BigTable的一种实现。 BigTable是什么?Google的Paper对其作了充分的说明。字面上看就是一张大表,其实和我们想象的传统数据库的表还是有些差别的。松散数据可以说是介于Map Entry(key & value)和DB Row之间的一种数据。在我使用Memcache的时候,有时候的需求是需要存储的不仅仅是简单的一个key对应一个value,可能我需要类似于数据库表结构中多属性的存储,但是又不会有传统数据库表结构中那么多关联关系的需求,其 阅读全文
摘要:
用过金山词霸的人可能都会发现,当你把金山词霸打开,如果再去双击金山词霸的快捷方式来启动它的时候,系统没有为我们再启动一个新的进程而是激活了前面我们已经打开的金山词霸程序,也就是说我们在一台计算机上同一时刻只能运行一个金山词霸的实例。这样的软件现在也很多,典型的还有winamp,暴风影音等…..这样的好处可以避免用户因为误点而启动了原本不想启动的程序,同时也使得我们的软件不会出现因为访问同一个资源而引起内部冲突问题。那么我们能不能在Java中也实现同样的功能呢? 有的人可能会说了,我用单一模式去实现我的Java类不就好了吗?其实单一模式只是保证了一个类在其他的类中只能构造一个实例,并不能实现只. 阅读全文
摘要:
在新文章“MapReduce模式、算法和用例”中,Ilya Katsov提供了一个系统化的综述,阐述了能够应用MapReduce框架解决的问题。文章开始描述了一个非常简单的、作为通用的并行计算框架的MapReduce应用,这个框架适用于很多要求大量节点进行的计算和数据密集型计算,包括物理和工程仿真,数值分析,性能测试等等。接下来是一组算法,通常用于日志分析、ETL和数据查询,包括计数及求和,数据整理(基于特定函数),过滤,解析,验证和排序。第二大部分是关于MapReduce模式,Katsov讨论了包括多关系形MapReduce模式,通常用于数据仓库应用程序。这些模式在Hive和Pig实现中广泛 阅读全文
摘要:
一、HDFSHDFS全称是Hadoop Distributed System。HDFS是为以流的方式存取大文件而设计的。适用于几百MB,GB以及TB,并写一次读多次的场合。而对于低延时数据访问、大量小文件、同时写和任意的文件修改,则并不是十分适合。目前HDFS支持的使用接口除了Java的还有,Thrift、C、FUSE、WebDAV、HTTP等。HDFS是以block-sized chunk组织其文件内容的,默认的block大小为64MB,对于不足64MB的文件,其会占用一个block,但实际上不用占用实际硬盘上的64MB,这可以说是HDFS是在文件系统之上架设的一个中间层。之所以将默认的bl 阅读全文
摘要:
一、环境配置1、Eclipse 版本 3.3.X2、Hadoop版本 0.20.2二、配置流程1、将/hadoop-0.20.2/hadoop-0.20.2/contrib/eclipse-plugin/下的hadoop-0.20.2-eclipse-plugin.jar拷贝到eclipse-SDK-3.3.2-win32/eclipse/plugins/下。2、启动eclipse,点击Window->Show View->Other,点击MapReudce Tools->Map/Reduce Locations,如图(我已创建一个):3、点击蓝色的大象,出现下图,配置:Ho 阅读全文
摘要:
一、 Hadoop节点热拔插在Hadoop集群中经常会进行增添节点操作,即实现节点的热拔插。在这些操作中不希望对集群进行重启。2.在集群中添加节点:a. 把新节点IP或者主机名字加入到主节点的slaves文件。b. 登录到新节点,执行:cd $HADOOP_HOME && bin/hadoop-daemon.sh start datanode && bin/hadoop-daemon.sh start tasktracker3. 从集群中移走节点,且对移走节点的数据进行备份:a. 在主节点的hdfs-site.xml配置文件中添加<property> 阅读全文
摘要:
本文不是面向 HDFS 或 MapReduce 的配置使用,而是面向 Hadoop 本身的开发。进行开发的前提是配置好开发环境,即获取源代码并首先能够顺畅编译,本文即记录了在 Linux(Ubuntu 10.10)上配置 eclipse 编译 Hadoop 源代码的过程。开发 Hadoop 应该基于哪个版本的源代码呢?一种选择是通过 SVN 同步跟踪最新源代码,另一种选择是选择某个较新的稳定的 release 版本。如果是改进 Hadoop 本身,通常选择前者(比如对 SVN 源有写权限的 Hadoop 核心开发人员);如果是基于 Hadoop 开发其他产品,则通常选择后者,且只需在 Hado 阅读全文
摘要:
HBase简介HBase – Hadoop Database,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群。HBase是Google Bigtable的开源实现,类似Google Bigtable利用GFS作为其文件存储系统,HBase利用Hadoop HDFS作为其文件存储系统;Google运行MapReduce来处理Bigtable中的海量数据,HBase同样利用Hadoop MapReduce来处理HBase中的海量数据;Google Bigtable利用 Chubby作为协同服务,HBase利用Zook 阅读全文
摘要:
Bigtable:一个分布式的结构化数据存储系统译者:alex摘要Bigtable是一个分布式的结构化数据存储系统,它被设计用来处理海量数据:通常是分布在数千台普通服务器上的PB级的数据。Google的很多项目使用Bigtable存储数据,包括Web索引、Google Earth、Google Finance。这些应用对Bigtable提出的要求差异非常大,无论是在数据量上(从URL到网页到卫星图像)还是在响应速度上(从后端的批量处理到实时数据服务)。尽管应用需求差异很大,但是,针对Google的这些产品,Bigtable还是成功的提供了一个灵活的、高性能的解决方案。本论文描述了Bigtabl 阅读全文
摘要:
Google MapReduce中文版译者: alex摘要MapReduce是一个编程模型,也是一个处理和生成超大数据集的算法模型的相关实现。用户首先创建一个Map函数处理一个基于key/value pair的数据集合,输出中间的基于key/value pair的数据集合;然后再创建一个Reduce函数用来合并所有的具有相同中间key值的中间value值。现实世界中有很多满足上述处理模型的例子,本论文将详细描述这个模型。MapReduce架构的程序能够在大量的普通配置的计算机上实现并行化处理。这个系统在运行时只关心:如何分割输入数据,在大量计算机组成的集群上的调度,集群中计算机的错误处理,管理 阅读全文
摘要:
The Google File System中文版译者:alex摘要我们设计并实现了Google GFS文件系统,一个面向大规模数据密集型应用的、可伸缩的分布式文件系统。GFS虽然运行在廉价的普遍硬件设备上,但是它依然了提供灾难冗余的能力,为大量客户机提供了高性能的服务。虽然GFS的设计目标与许多传统的分布式文件系统有很多相同之处,但是,我们的设计还是以我们对自己的应用的负载情况和技术环境的分析为基础 的,不管现在还是将来,GFS和早期的分布式文件系统的设想都有明显的不同。所以我们重新审视了传统文件系统在设计上的折衷选择,衍生出了完全不同的设计 思路。GFS完全满足了我们对存储的需求。GFS作 阅读全文