赞
踩
Hadoop是一个由Apache基金会所开发的分布式系统基础架构,Hadoop是一个适合大数据的分布式存储和计算平台
主要解决,海量数据的存储和海量数据的分析计算问题
官网对其的介绍如下:
The Apache Hadoop software library is a framework that allows for the distributed processing of large data sets across clusters of computers using simple programming models. It is designed to scale up from single servers to thousands of machines, each offering local computation and storage. Rather than rely on hardware to deliver high-availability, the library itself is designed to detect and handle failures at the application layer, so delivering a highly-available service on top of a cluster of computers, each of which may be prone to failures.
Apache Hadoop软件库是一个框架,该框架允许使用简单的编程模型跨计算机集群对大型数据集进行分布式处理。它旨在从单个服务器扩展到数千台机器,每台机器都提供本地计算和存储。软件库本身不依赖硬件来提供集群的高可用性,它被设计来检测和处理应用程序层的故障,因此可以在每台计算机都容易出现故障的客观现实下,依然可以从计算机集群的顶部提供高可用性的服务。
广义上来说,Hadoop通常是指一个更广泛的概念——Hadoop生态圈(围绕Hadoop打造的大数据生态圈)
狭义上来说,Hadoop指的是Apache的一款开源软件
Hadoop项目包含了5个模块:
Hadoop核心组件
起初,Doug Cutting有个雄心勃勃的计划,在Google横行搜索引擎市场的时代,他想从头开始构建一个超越Google的开源搜索引擎,于是Nutch项目开始了,当时是2002年
后来,Nutch开发者认为这一网页爬取工具和搜索引擎系统可扩展度不够,不能解决数十亿网页的搜索问题,项目陷入瓶颈
直至2004年,Google的两位大佬Jeffrey Dean和Sanjay Ghemawat撰写并发表了一篇论文 MapReduce: Simplified Data Processing on Large Clusters 《MapReduce:简化对庞大数据的处理过程》,这篇论文产生了很大的轰动,给了人们很大的启发。(它与Google于2003年发表的 The Google File System 《谷歌系统》、2006年发表的 Bigtable: A Distributed Storage System for Structured Data 《BigTable:结构化数据的分布式存储系统》 被并称为“大数据的三驾马车”。)
Doug Cutting和另一位工程师Mike Cafarella深信MapReduce的重要性,于是在2005年初,Nutch的开发人员在Nutch上实现了一个MapReduce系统,到年中,Nutch的所有主要算法均完成移植,用NDFS(Nutch分布式文件系统)和MapReduce来运行
Nutch的NDFS和MapReduce实现不仅仅适用于搜索领域
在2006年2月, 开发人员将NDFS和MapReduce移出Nutch形成Lucene的一个子项目,他们最终将这个项目命名为Hadoop,这个名字不是什么缩写(也就是说不像Redis一样是Remote Dictionary Server的缩写),它是一个虚构的名字,Doug Cutting如此解释名称的来历:这个名字是我的孩子给一头吃饱了的棕黄色大象取的,我的命名标准是简短,容易发音和拼写,没有太多的含义,并且不会被用于别处,小孩子是这方面的高手,Googol就是小孩子起的名字
大约在同一时间,Doug Cutting加入了Yahoo,Yahoo为此组织了一个专门的团队和资源,将Hadoop发展成一个能够处理Web数据的系统
到2008年1月,Hadoop已经成为Apache的顶级项目,证明了它的成功、多样化、活跃性,一度成了“大数据”的代名词。Hadoop成功地被雅虎之外的很多公司应用,如Last.fmFacebook和《纽约时报》
在2008年2月,雅虎宣布其搜索引擎产品部署在一个拥有1万个内核的Hadoop集群上
2008年4月,Hadoop打破世界纪录,成为最快排序1TB数据的系统。Hadoop在209秒内排序了1TB的数据(还不到三分半钟),击败了前一年的297秒冠军
同年11月,谷歌在报告中声称,它的 MapReduce 实现执行ITB数据的排序只用了68秒
在2009年5月,有报道宣称Yahoo的团队使用 Hadoop对ITB的数据进行排序只花了62秒时间
Hadoop创始人:Doug Cutting
Doug Cutting,是说到Hadoop绕不开的人物,这位大佬是Apache Lucene之父,也是Hadoop的创建者。
Hadoop起源于Apache Lucene(Lucene是一个被广泛使用的文本搜索系统库)子项目:Nutch(Nutch的设计目标是构建一个大型的全网搜索引擎。遇到瓶颈︰如何解决数十亿网页的存储和索引问题)
Google三篇论文
缺点
Apache hadoop(Apache社区版本):ApacheHadoop是一款支持数据密集型分布式应用并以Apache 2.0许可协议发布的开源软件框架。它支持在商品硬件构建的大型集群上运行的应用程序。Hadoop是根据Google公司发表的MapReduce和Google档案系统的论文自行实作而成。称为社区版Hadoop
优点:
完全开源免费
社区活跃
文档、资料详实
缺点:
复杂的版本管理。版本管理比较混乱的,各种版本层出不穷,让很多使用者不知所措
复杂的集群部署、安装、配置。通常按照集群需要编写大量的配置文件,分发到每一台节点上,容易出错,效率低下
复杂的集群运维。对集群的监控,运维,需要安装第三方的其他软件,如ganglia,nagois等,运维难度较大
复杂的生态环境。在Hadoop生态圈中,组件的选择、使用,比如Hive,Mahout,Sqoop,Flume,Spark,Oozie等等,需要大量考虑兼容性的问题,版本是否兼容,组件是否有冲突,编译是否能通过等。经常会浪费大量的时间去编译组件,解决版本冲突问题
第三方发行版Hadoop:Hadoop遵从Apache开源协议,用户可以免费地任意使用和修改Hadoop,也正因此,市面上出现了很多Hadoop版本。其中有很多厂家在Apache Hadoop的基础上开发自己的Hadoop产品,比如Cloudera的CDH,Hortonworks的HDP,MapR的MapR产品等
Cloudera: Apache Hadoop open source ecosystem | Cloudera
2008年成立的Cloudera是最早将Hadoop商用的公司,为合作伙伴提供Hadoop的商用解决方案,主要是包括支持、咨询服务、培训
2009年Hadoop的创始人Doug Cutting也加盟Cloudera公司。Cloudera产品主要为CDH,Cloudera Manager,Cloudera Support
CDH是Cloudera的Hadoop发行版,完全开源,比Apache Hadoop在兼容性,安全性,稳定性上有所增强
Cloudera Manager是集群的软件分发及管理监控平台,可以在几个小时内部署好一个Hadoop集群,并对集群的节点及服务进行实时监控。Cloudera Support即是对Hadoop的技术支持
Cloudera的标价为每年每个节点4000美元。Cloudera开发并贡献了可实时处理大数据的Impala项目
Hortonworks:Hortonworks Data Platform | Cloudera
2011年成立的Hortonworks是雅虎与硅谷风投公司Benchmark Capital合资组建
公司成立之初就吸纳了大约25名至30名专门研究Hadoop的雅虎工程师,上述工程师均在2005年开始协助雅虎开发Hadoop,贡献了Hadoop80%的代码
雅虎工程副总裁、雅虎Hadoop开发团队负责人Eric Baldeschwieler出任Hortonworks的首席执行官
Hortonworks的主打产品是Hortonworks Data Platform(HDP),也同样是100%开源的产品,HDP除常见的项目外还包括了Ambari,一款开源的安装和管理系统
HCatalog,一个元数据管理系统,HCatalog现已集成到Facebook开源的Hive中。Hortonworks的Stinger开创性的极大的优化了Hive项目。Hortonworks为入门提供了一个非常好的,易于使用的沙盒
Hortonworks开发了很多增强特性并提交至核心主干,这使得Apache Hadoop能够在包括Window Server和Windows Azure在内的Microsoft Windows平台上本地运行。定价以集群为基础,每10个节点每年为12500美元
2018年Hortonworks被Cloudera公司收购
优点:
基于Apache协议,100%开源
版本管理清晰。比如Cloudera,CDH1,CDH2,CDH3,CDH4,CDH5 等,后面加上补丁版本,如CDH4.1.0 patch level 923.142,表示在原生态Apache Hadoop 0.20.2基础上添加了1065个patch
比Apache Hadoop在兼容性、安全性、稳定性上有增强。第三方发行版通常都经过了大量的测试验证,有众多部署实例,大量的运行到各种生产环境
版本更新快。通常情况,比如CDH每个季度会有一个update,每一年会有一个release。
基于稳定版本Apache Hadoop,并应用了最新Bug修复或Feature的patch
提供了部署、安装、配置工具,大大提高了集群部署的效率,可以在几个小时内部署好集群
运维简单。提供了管理、监控、诊断、配置修改的工具,管理配置方便,定位问题快速、准确,使运维工作简单,有效
Hadoop 1.0
Hadoop 2.0
Hadoop 3.0
首先我们来看一下致命性的变化,就是1.0版本到2.0版本的变迁,因为hadoop发展到现在,大概经历了三个大的版本变化,我们仔细对比一下,发现底层都是hdfs,没有什么变化,也就是说,数据怎么存的,没有什么变化
1.0到2.0最大的变化,就是对MR进行了大的拆分,并且引入了一个新的组件,叫做YARN。大家可以看下图,我们发现,这个mapReduce这个组件太累了,他除了要做集群的资源管理,还要做数据的处理,这一个组件身兼数职,并且这两件事情都非常的重要,那他的性能能好吗
完全不行啊,所以呢,到2.0版本之后,hadoop做了一个非常大的构架变化,就是把MR做了拆分,MR你只负责处理数据就可以了,资源管理的事情,交给专门的组件来做,这个组件就是YARN,并且YARN这个组件做的非常通用,不仅支持MapReduce,还支持其他的计算框架,什么Spark,Flink等。目前市面上1.0基本上没什么人用了,但是2.8、2.9这些还是有在用、
Hadoop 3.0架构组件和Hadoop 2.0类似,3.0着重于性能优化
我们可以看一下,2.0到3.0的版本,构架已经没有大的改变了,一个软件要是天天变构架,那就太搓了,3.0版本侧重的是性能的优化,就比如说支持cup的多重运算、支持多重备份,并且内部的数据支持动态平衡,并且存储效率变高了,采用删码存储等等
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。