Hadoop Map/Reduce是一个使用简易的软件框架,基于它写出来的应用程序能够运行在由上千个商用机器组成的大型集群上,并以一种可靠容错的方式并行处理上T级别的数据集。
MapReduce编程模型的思想来源于函数式编程语言Lisp,由Google公司于2004年提出并首先应用于大型集群。同时,Google也发表了GFS、BigTable等底层系统以应用MapReduce模型。在2007年,Google’s MapReduce Programming Model-Revisted论文发表,进一步详细介绍了Google MapReduce模型以及Sazwall并行处理海量数据分析语言。Google公司以MapReduce作为基石,逐步发展成为全球互联网企业的领头羊。 <br> Hadoop作为Apache基金会资助的开源项目,由Doug Cutting带领的团队进行开发,基于Lucene和Nutch等开源项目,实现了Google的GFS和Hadoop能够稳定运行在20个节点的集群;2006年1月,Doug Cutting加入雅虎公司,同年2月Apache Hadoop项目正式支持HDFS和MapReduce的独立开发。同时,新兴公司Cloudera为Hadoop提供了商业支持,帮助企业实现标准化安装,并志愿贡献社区。Hadoop的最新版本是0.21.0,说明其还在不断完善发展之中。
hadoop Map/Reduce开发实例
Hadoop是MapReduce的开源实现,现在介绍它的单机模式安装方法。实验平台:Ubuntu9.04,Hadoop0.20,JDK1.6。
在Master上运行的是JobTracker守护进程,而在Slave上运行的是TaskTracker守护进程。对于一个作业,首先提交给JobTracker,再由JobTracker对提交的作业进行处理。
概述HadoopMap-Reduce是一个使用简易的软件框架,基于它写出来的应用程序能够运行在由上千个商用机器组成的大型集群上,并以一种可靠容错的方式并行处理上T级别的数据集。一个Map-Reduce 作业(job) 通常会把输入的数据集切分为若干独立的数据块,由 map任务(task)以完全并行的方式处理它们。
内容:MapReduce概述,MapReduce的数据流,检查点,相关编程要点,Map过程Map过程通过在输入列表中的每一项执行函数,生成一系列的输出列表。Reduce过程Reduce过程在一个输入的列表进行扫描工作,随后生成一个聚集值,作为最后的输出MapReduce的Reduce过程所有不同的颜色代表不同的键值(keys)。
HDFS为了做到可靠性(reliability)创建了多份数据块(data blocks)的复制(replicas),并将它们放置在服务器群的计算节点中(compute nodes),MapReduce就可以在它们所在的节点上处理这些数据了。
不管程序性能有多高,机器处理能力有多强,都会有其极限。能够快速方便的横向与纵向扩展是Nut设计最重要的原则,以此原则形成以分布式并行计算为核心的架构设计。以分布式并行计算为核心的架构设计是Nut区别于Solr、Katta的地方。 Nut是一个Lucene+Hadoop分布式并行计算搜索框架,能对千G以上索引提供7*24小时搜索服务。在服务器资源足够的情况下能达到每秒处理100万次的搜索请求。
Hadoop核心、Hadoop dfs(Hdfs)、MapReduce 分布式并行计算模型 Hadoop扩展、Hadoop base(Hbase)基于hadoop核心的高扩展性分布式数据库、Pig-一种高级数据流语言和并行计算的执行框架,也基于hadoop核心 、Hive-建立在hadoop之上的数据仓库基础设施,提供数据摘要,adhoc、querying,数据集分析。
MapReduce编程模型的思想来源于函数式编程语言Lisp,由Google公司于2004年提出并首先应用于大型集群。同时,Google也发表了GFS、BigTable等底层系统以应用MapReduce模型。在2007年,Google’s MapReduce Programming Model-Revisted论文发表,进一步详细介绍了Google MapReduce模型以及Sazwall并行处理海量数据分析语言。Google公司以MapReduce作为基石,逐步发展成为全球互联网企业的领头羊。Hadoop作为Apache基金会资助的开源项目,由Doug Cutting带领的团队进行开发,基于Lucene和Nutch等开源项目,实现了Google的GFS和Hadoop能够稳定运行在20个节点的集群;2006年1月,Doug Cutting加入雅虎公司,同年2月Apache Hadoop项目正式支持HDFS和MapReduce的独立开发。同时,新兴公司Cloudera为Hadoop提供了商业支持,帮助企业实现标准化安装,并志愿贡献社区。Hadoop的最新版本是0.21.0,说明其还在不断完善发展之中。
前言:Hadoop是一个分布式系统基础架构,主要是由HDFS、MapReduce和Hbase组成,分别为Google集群系统GFS、MapReduce、BigTable的开源实现。具有扩容能力强,效率高,成本低,可靠性好等特点。配置前最好熟悉一下Linux常用命令的使用,遇到问题时善于利用收索引擎,本教程的Linux版本选择比较常用的Ubuntu。
分布式计算开源框架Hadoop介绍 - 分布式计算开源框架Hadoop入门实践(一)在SIP项目设计的过程中,对于它庞大的日志在开始时就考虑使用任务分解的多线程处理模式来分析统计,在我从前写的文章《Tiger Concurrent Practice--日志分析并行分解设计与实现》中有所提到。但是由于统计的内容暂时还是十分简单,所以就采用Memcache作为计数器,结合MySQL就完成了访问控制以及统计的工作。然而未来,对于海量日志分析的工作,还是需要有所准备。现在最火的技术词汇莫过于“云计算”,在Open API日益盛行的今天,互联网应用的数据将会越来越有价值,如何去分析这些数据,挖掘其内在价值,就需要分布式计算来支撑海量数据的分析工作。
Hadoop提供了一个稳定的共享存储和分析系统。存储由HDFS实现,分析由MapReduce实现。纵然Hadoop还有其他功能,但这些功能是它的核心所在。
Hadoop集群安装。首先我们统一一下定义,在这里所提到的Hadoop是指HadoopCommon,主要提供HDFS(分布式文件存储)与Map/Reduce的核心功能。
称节点是Hadoop后台进程中最重要的部分。Hadoop以一种主/从结构来实现分布式文件系统和分布式计算。分布式文件系统被称为HadoopFileSystem或者HDFS。名称节点是HDFS中的控制部分,用来控制从属的数据节点进程执行底层的输入/输出任务。名称节点也是HDFS的记录,其记录了文件是如何被分解为各个节点块的情况以及分布式文件系统的总体情况。
报告内容:Hadoop核心:1、Hadoopdfs(Hdfs),MapReduce分布式并行计算模型。2、Hadoop扩展,Hadoopbase(Hbase)基于hadoop核心的高扩展性分布式数据库。Pig-一种高级数据流语言和并行计算的执行框架,也基于hadoop核心,Hive-建立在hadoop之上的数据仓库基础设施,提供数据摘要,adhocquerying,数据集分析。