Hadoop 概述

1. 什么是hadoop

  • Hadoop是一个由Apache基金会所开发的分布式系统基础架构
  • 主要解决海量数据的存储和分析计算问题
  • 广义上来说,HADOOP通常是指一个更广泛的概念——HADOOP生态圈

1.1. hadoop核心组件

它包括三部分:HDFS,YARN,和MapReduce

组件 描述 功能
HDFS Hadoop分布式文件系统 分布式存储海量数据集
MapReduce 基于YARN分布式并行处理海量数据集 分布式计算海量数据集
YARN 任务调度和集群资源管理框架 任务调度、资源管理

1.2. hadoop狭义与广义

狭义hadoop:大数据分布式存储(HDFS) + 分布式计算 + 资源调度(YARN)框架

广义hadoop:指hadoop生态系统(生态圈)。hadoop框架是其中最重要最基础的一个部分。生态系统中的每一个子系统只能解决某一个领域的特定问题域。

Hadoop生态圈

HDFS:分布式文件系统
MapReduce:分布式运算程序开发框架
Hbase:基于HADOOP的分布式海量数据库,离线分析和在线业务通吃
Hive:基于大数据技术(文件系统+运算框架)的SQL数据仓库工具,使用方便,功能丰富,基于MR延迟大
Sqoop:数据导入导出工具
Flume:数据采集框架
ZOOKEEPER:分布式协调服务基础组件
Mahout:基于mapreduce/spark/flink等分布式运算框架的机器学习算法库
Oozie:工作流调度框架
Sqoop:数据导入导出工具
Flume:日志数据采集框架

2. Hadoop发展历史

1)Lucene——Doug Cutting开创的开源软件,用java书写代码,实现与Google类似的全文搜索功能,它提供了全文检索引擎的架构,包括完整的查询引擎和索引引擎

2)2001年年底成为apache基金会的一个子项目

3)对于大数量的场景,Lucene面对与Google同样的困难

4)学习和模仿Google解决这些问题的办法 :微型版Nutch

5)可以说Google是hadoop的思想之源(Google在大数据方面的三篇论文)

GFS —->HDFS
MapReduce —->MapReduce
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)名字来源于Doug Cutting儿子的玩具大象

9)Hadoop就此诞生并迅速发展,标志这云计算时代来临

3. Hadoop三大发行版本

Hadoop三大发行版本:Apache、Cloudera、Hortonworks。

  • Apache版本最原始(最基础)的版本,对于入门学习最好

  • Cloudera在大型互联网企业中用的较多。使用免费,解决问题收费

  • Hortonworks文档较好。使用免费,解决问题收费

3.1. Apache Hadoop

官网地址:http://hadoop.apache.org/releases.html

下载地址:https://archive.apache.org/dist/hadoop/common/

3.2. Cloudera Hadoop

官网地址:https://www.cloudera.com/downloads/cdh/5-10-0.html

下载地址:http://archive-primary.cloudera.com/cdh5/cdh/5/

全称 Cloudera’s Distribution Including Apache Hadoop(简称CDH)

(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.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,贡献了Hadoop 80%的代码

(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的优势(4高)

1)高可靠性:Hadoop底层维护多个数据副本,所以即使Hadoop某个计算元素或存储出现故障,也不会导致数据的丢失。
2)高扩展性:在集群间分配任务数据,可方便的扩展数以千计的节点。
3)高效性:在MapReduce的思想下,Hadoop是并行工作的,以加快任务处理速度。
4)高容错性:能够自动将失败的任务重新分配。

5. Hadoop各版本区别⭐

⭐ Question:Hadoop1.x与2.x有什么区别

Hadoop1.0 有三个组件:

  • Common:支持其他模块的工具模块(Configuration、RPC、序列化机制、日志操作)
  • HDFS:一个高可靠、高吞吐量的分布式文件系统,负责数据存储

  • MapReduce:分布式的资源调度和离线并行计算框架。不仅要处理数据(计算),还要管理集群资源(资源指CPU、内存、磁盘,如CPU分配8核给谁用、内存分配128G给谁用、磁盘分配8T给谁用),又当爹又当妈 😂

Hadoop2.0 有四个组件:

  • YARN成为Hadoop的操作系统。任务调度和集群资源管理由YARN负责。
  • 在YARN上可以运行各种数据处理框架。不仅能运行原来的批处理框架MapReduce,还能运行流式处理框架Storm、内存计算框架Spark等等

在Hadoop1.x时代,MapReduce同时处理业务逻辑计算和资源调度,耦合性较大。

在Hadoop2.x时代,增加了YARN,由YARN负责任务调度和资源管理,MapReduce只负责计算,实现了解耦、模块化

6. 大数据技术生态体系⭐

6.1. 案例:电商推荐系统项目框架

panchaoxin wechat
关注我的公众号
支持一下