1、Hadoop 是什么
1)Hadoop 是一个由 Apache 基金会所开发的分布式系统基础架构 分布式表示把一件大事拆分成小事去处理?? ??? ?基础架构表示这是其它框架的基础
2)主要解决,海量数据的存储和海量数据的分析计算问题。(hdfs\mapreduce)
3)广义上来说,HADOOP 通常是指一个更广泛的概念——HADOOP 生态圈
?上图就是服务器
2、Hadoop 发展历史
?
1)Lucene-->Doug Cutting 开创的开源软件,用 java 书写代码,实现与 Google 类似的全文搜索功能,它提供了全文检索引擎的架构,包括完整的查询引擎和索引引擎 了解搜索框架 2)2001年年底Lucene成为apache基金会的一个子项目 3)对于大数量的场景,Lucene 面对与 Google 同样的困难(海量检索和存储) 4)学习和模仿 Google 解决这些问题的办法 :微型版 Nutch 5)可以说Google 是 hadoop 的思想之源(Google 在大数据方面的三篇论文) ????????GFS(google file system) --->HDFS ????????Map-Reduce --->MR ????????BigTable --->Hbase 6)2003-2004 年,Google 公开了部分GFS 和Mapreduce 思想的细节,以此为基础 Doug Cutting等人用了 2 年业余时间实现了DFS 和 Mapreduce 机制,使 Nutch 性能飙升 以后这个技术更新很快,以后工作之后业余时间利用好 7)2005? 年Hadoop? 作为 Lucene 的子项目 Nutch 的一部分正式引入Apache 基金会。2006? 年3? 月份,Map-Reduce 和 Nutch Distributed File System (NDFS)? 分别被纳入称为 Hadoop? 的项目中 8)Hadoop? 名字来源于 Doug Cutting 儿子的玩具大象
? 9)Hadoop 就此诞生并迅速发展,标志这云计算时代来临
?
?
3、Hadoop 三大发行版本
Hadoop 三大发行版本: Apache、Cloudera、Hortonworks。 比如你们学linux:centos 、红帽、ubuntu Apache 版本最原始(最基础)的版本,对于入门学习最好。 Cloudera 在大型互联网企业中用的较多。(服务维护) Hortonworks 文档较好。(hadoop和其它框架整合兼容性做得很好)
(1)Apache Hadoop
官网地址:http://hadoop.apache.org/releases.html 下载地址:https://archive.apache.org/dist/hadoop/common/
(2)Cloudera Hadoop
官网地址:https://www.cloudera.com/downloads/cdh/5-10-0.html 下载地址:http://archive-primary.cloudera.com/cdh5/cdh/5/ (1)2008 年成立的 Cloudera 是最早将 Hadoop 商用的公司,为合作伙伴提供 Hadoop的商用解决方案,主要是包括支持、咨询服务、培训。 (2)2009 年 Hadoop 的创始人 Doug Cutting 也加盟 Cloudera 公司。Cloudera 产品主要为 CDH,Cloudera Manager,Cloudera Support (3)CDH 是 Cloudera 的 Hadoop 发行版,完全开源,比 Apache Hadoop 在兼容性,安全性,稳定性上有所增强。 (4)Cloudera Manager 是集群的软件分发及管理监控平台,可以在几个小时内部署好一个Hadoop 集群,并对集群的节点及服务进行实时监控。Cloudera Support 即是对Hadoop 的技术支持。 (5)Cloudera 的标价为每年每个节点 4000 美元。Cloudera 开发并贡献了可实时处理大数据的 Impala 项目。
(3)Hortonworks Hadoop
官网地址:https://hortonworks.com/products/data-center/hdp/ 下载地址:https://hortonworks.com/downloads/#data-platform (1)2011 年成立的 Hortonworks 是雅虎与硅谷风投公司 Benchmark Capital 合资组建。 (2)公司成立之初就吸纳了大约 25 名至 30 名专门研究 Hadoop 的雅虎工程师,上述工程师均在 2005 年开始协助雅虎开发 Hadoop,贡献了 Hadoop80%的代码。 (3)雅虎工程副总裁、雅虎 Hadoop? 开发团队负责人 Eric? Baldeschwieler? 出任Hortonworks 的首席执行官。 (4)Hortonworks 的主打产品是 Hortonworks Data Platform(HDP),也同样是 100%开源的产品,HDP 除常见的项目外还包括了 Ambari,一款开源的安装和管理系统。 (5)HCatalog,一个元数据管理系统,HCatalog 现已集成到 Facebook 开源的 Hive 中。 Hortonworks 的Stinger 开创性的极大的优化了 Hive 项目。Hortonworks 为入门提供了一个非常好的,易于使用的沙盒。 (6)Hortonworks 开发了很多增强特性并提交至核心主干,这使得 Apache Hadoop 能够在包括Window Server 和Windows Azure 在内的microsoft Windows 平台上本地运行。定价以集群为基础,每 10 个节点每年为 12500 美元。
4、Hadoop 的优势
(1)高可靠性:因为 Hadoop 假设计算元素和存储会出现故障,因为它维护多个工作数据副本(备份),在出现故障时可以对失败的节点重新分布处理。 ????????因为hadoop是要搭建在廉价的计算机上, (2)高扩展性:在集群间分配任务数据,可方便的扩展数以千计的节点(计算机)。 (3)高效性:在 MapReduce 的思想下,Hadoop 是并行工作的,以加快任务处理速度。 ??????? 如果我厨房要做10桌菜,把这些任务分给多个人来同时做 (4)高容错性:自动保存多份副本数据,并且能够自动将失败的任务重新分配。
5、Hadoop 组成
(1)Hadoop HDFS:一个高可靠、高吞吐量的分布式文件系统。(存储) (2)Hadoop MapReduce:一个分布式的离线并行计算框架。(计算) (3)Hadoop YARN:作业调度与集群资源管理的框架。(管理,分工) (4)Hadoop Common:支持其他模块的工具模块(Configuration、RPC、序列化机制、日志操作)。
?
(1)HDFS 架构概述 1)NameNode(一本书的目录)(nn):存储文件的元数据(描述数据的数据),如文件名,文件目录结构,文件属性(生成时间、副本数、文件权限),以及每个文件的块列表和块所在的DataNode等。 2)DataNode(每章节具体的内容)(dn):在本地文件系统存储文件块数据,以及块数据的校验。 3)Secondary NameNode(2nn):用来监控HDFS状态的辅助后台程序,每隔一段时间获取HDFS元数据的快照(快照就像一张照片,记录了瞬时的状态)。
(2)YARN 架构概述 1)ResourceManager(老大)(rm):处理客户端请求、启动/监控 ApplicationMaster、监控 NodeManager 、资源分配与调度; 2)NodeManager(小弟)(nm):单个节点上的资源管理、处理来自 ResourceManager 的命令、处理来自 ApplicationMaster 的命令; 3)ApplicationMaster:数据切分、为应用程序申请资源(类似迅雷),并分配给内部任务、任务监控与容错。 4)Container(容器):对任务运行环境的抽象,封装了 CPU、内存等多维资源以及环境变量、启动命令等任务运行相关的信息。(云计算范畴)
(3)MapReduce 架构概述 MapReduce 将计算过程分为两个阶段:Map 和 Reduce 1)Map 阶段并行处理输入数据(分分) 2)Reduce 阶段对 Map 结果进行汇总(合合)
上图简单的阐明了 map 和 reduce 的两个过程或者作用,虽然不够严谨,但是足以提供一个大概的认知,map 过程是一个蔬菜到制成食物前的准备工作,reduce 将准备好的材料合并进而制作出食物的过程。
6、Hadoop 部署方式
(1)单机:安装包解压之后就能使用,此时就是单机模式。在单机模式下,只能使用Hadoop的MapReduce组件,其他组件不生效,此时数据默认是存储在本机文件系统中 (2)伪分布式(完全分布式的缩小版、简化版):利用一个节点来模拟集群环境,则一个节点上去启动集群中所有需要的进程 - 优势在于可以使用Hadoop的所有组件 (3)完全分布式:利用集群来部署Hadoop(实际生产环境肯定是这个) 如果用完全分布式,100G的任务,分给10G的电脑,需要10台电脑, 如果是伪分布式,100G的任务,只需要给1个100G的电脑,我在电脑里面用虚拟机的方式拆分10个
?
|