Map-Reduce是一个编程模型,也是一个处理和生成超大数据集的算法模型的相关实现。用户首先创建一个Map函数处理一个基于 key/value pair的数据集合,输出中间的基于key/value pair的数据集合;然后再创建一个Reduce函数用来合并所有的具有相同中间key值的中间value值。现实世界中有很多满足上述处理模型的例子, 本论文将详细描述这个模型。
MapReduce采用"分而治之"的思想,把对大规模数据集的操作,分发给一个主节点管理下的各个分节点共同完成,然后通过整合各个节点的中间结果,得到最终结果。简单地说,MapReduce就是"任务的分解与结果的汇总"。
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利用Zookeeper作为对应。
Hadoop版本:hadoop-0.21.0<br> Java版本:1.6.0_26<br> 操作系统: CentOS-5.4-x86_64-bin-DVD.iso<br> 三台机器:一台做master、两台做slave。
Hive是Hadoop项目中的一个子项目,由FaceBook向Apache基金会贡献,其中TaoBao也是其中一位使用者+贡献者,Hive被视为一个仓库工具,可以将结构化的数据文件映射为一张数据库表,并可以将sql语句转换为MapReduce任务进行运行。其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。
自MapReduce发明后,Google大量用于各种海量数据处理,目前Google内部有7千以上的程序基于MapReduce实现。MapReduce可广泛应用于搜索引擎(文档倒排索引,网页链接图分析与页面排序等)、Web日志分析、文档分析处理、机器学习、机器翻译等各种大规模数据并行计算应用领域各类大规模数据并行处理算法。
Hbase是一个分布式开源数据库,基于Hadoop分布式文件系统,模仿并提供了基于Google文件系统的Bigtable数据库的所有功能。Hbaes的目标是处理非常庞大的表,可以用普通的计算机处理超过10亿行数据,并且有数百万列元素组成的数据表。Hbase可以直接使用本地文件系统或者Hadoop作为数据存储方式,不过为了提高数据可靠性和系统的健壮性,发挥Hbase处理大数据量等功能,需要使用Hadoop作为文件系统,那么我们就先要了解Hadoop文件系统的基本特性和原理,才能更好地理解Hbase的工作方式。Hadoop
Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有着高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上。而且它提供高传输率(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求(requirements)这样可以流的形式访问(streaming access)文件系统中的数据。
Spanner是谷歌公司研发的、可扩展的、多版本、全球分布式、同步复制数据库。它是第一个把数据分布在全球范围内的系统,并且支持外部一致性的分布式事务。本文描述了Spanner的架构、特性、不同设计决策的背后机理和一个新的时间API,这个API可以暴露时钟的不确定性。这个API及其实现,对于支持外部一致性和许多强大特性而言,是非常重要的,这些强大特性包括:非阻塞的读、不采用锁机制的只读事务、原子模式变更。
Hadoop文件系统:Hadoop文件系统是一个能够兼容普通硬件环境的分布式文件系统,和现有的分布式文件系统不同的地方是Hadoop更注重容错性和兼容廉价的硬件设备,这样做是为了用很小的预算甚至直接利用现有机器就实现大流量和大数据量的读取。Hadoop使用了POSIX的设计来实现对文件系统文件流的读取。HDFS(Hadoop FileSystem)原来是Apache Nutch搜索引擎(从Lucene发展而来)开发的一个部分,后来独立出来作为一个Apache子项目。Hadoop的假设与目标:硬件出错,Hadoop假设硬件出错是一种正常的情况,而不是异常,为的就是在硬件出错的情况下尽量保证数据完整性。
此文档是用户使用Hadoop集群或普通单机分布式文件存储系统(HDFS)开展工作的起点,尽管HDFS被设计成适应于许多环境,有用的HDFS知识能大大帮助我们优化配置及诊断具体集群的问题。HDFS是Hadoop应用使用的主要分布式存储器,HDFS集群主要由管理文件系统元数据的NameNode(名称节点)和存储实际数据的DataNode(数据节点)组成。HDFS架构指南详细途述了HDFS。
格网计算是一种新的高性能的分布式计算方法。 格网计算作为新一代的分布式计算方法,与传统分布式计算的主要区别在于: 在没有集中控制机制的情况下,通过对计算资源进行大规模共享,满足应用对高性能计算要求,并且这种对计算资源进行大规模共享是动态的、柔性的、安全的和协作式的。
Hadoop集群搭建机器规格CPU:2个四核2~2.5GHzCPU内存:8~16GBECCRAM(非ECC会产生校验和错误)存储器:4*1TSATA硬盘(硬盘大小一般是数据量的3—5倍)网络:千兆以太网PS:namenode一般采用64位硬件,避免32位机java堆3g限制具体规格情况跟数据量有关。
基于虚拟化技术的云环境下多虚拟机进行资源共享。 这种资源共享可导致相互竞争的公司之间的虚拟机的信息泄露。 在云环境中对虚拟机进行有效的隔离是非常有必要的。
HSF介绍起源做了些什么以及怎么做的目前的使用状况将来还会做什么和eBaySOA平台的比较起源07年的淘宝依靠Denali这座唯一的大山支撑着;仅仅靠堆积机器已经无法支撑了;于是祭起了“拆分”这个互联网常用招数;应用拆开后,如何通讯?性能如何保证?如何保证不管是什么应用都用同样的方式交互?于是,HSF(High-speedServiceFramework)诞生了!做了些什么以及怎么做的标准Service方式的RPC应用之间以Service的方式进行交互交互方式支持同步、异步、可靠异步以及回调协议支持tcp/ip、webservice序列化.
小文件指的是那些size比HDFS的blocksize(默认64M)小的多的文件。如果在HDFS中存储小文件,那么在HDFS中肯定会含有许许多多这样的小文件(不然就不会用hadoop了)。而HDFS的问题在于无法很有效的处理大量小文件。任何一个文件,目录和block,在HDFS中都会被表示为一个object存储在namenode的内存中,每一个object占用150bytes的内存空间。所以,如果有10million个文件,每一个文件对应一个block,那么就将要消耗namenode3G的内存来保存这些block的信息。
分布式文件系统均为Client/Server架构。数据保存在服务器端,而客户端的应用程序能够像访问本地文件系统一样访问位于远程服务器上的文件。在Client通常都对文件数据进行缓存,以提高读写性能和系统可扩展性。然而,缓存和一致性总是一对矛盾,一致性的实现往往比较复杂,这方面的研究有大量论文。
Ceph最初是一项关于存储系统的PhD研究项目,由SageWeil在Universityof California,SantaCruz(UCSC)实施。但是到了2010年3月底,您可以在主线Linux内核(从2.6.34版开始)中找到Ceph的身影。虽然Ceph可能还不适用于生产环境,但它对测试目的还是非常有用的。本文探讨了Ceph文件系统及其独有的功能,这些功能让它成为可扩展分布式存储的最有吸引力的备选。Ceph目标开发一个分布式文件系统需要多方努力,但是如果能准确地解决问题,它就是无价的。Ceph的目标简单地定义为:可轻松扩展到数PB容量对多种工作负载的高性能(每秒输入/输出操作[IOPS]和带宽)高可靠性不幸的是,这些目标之间会互相竞争(例如,可扩展性会降低或者抑制性能或者影响可靠性)。
两台Ubuntu虚拟机部署Hadoop集群
Hive内建MapReduce支持5.在Shell里面执行Hive脚本其他目录Hive拥有数据库或者属主的概念。这样做的好处是避免多个用户在使用Hive对数据库对象命名的时候出现命名的冲突。我们使用CLI命令行是看不到当前数据库是什么的。