大数据学习笔记—Hadoop概述

一、Hadoop是什么

Hadoop是一个有Apache基金会所开发的分布式系统基础架构。

二、Hadoop的特点(4高)

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

三、Hadoop的版本演变

Hadoop经历了三代的版本演变,其中Hadoop2.X是目前最主流的版本

  1. Hadoop1.X与Hadoop2.X的区别如下图:
    大数据学习笔记—Hadoop概述
  2. Hadoop 3.x与Hadoop 2.x相比,则有如下变化。
    (1) JDK版本的最低依赖从1.7变成了1.8。
    (2) HDFS支持可擦除编码( Erasure Encoding)。
    (3)采用Timeline Server v2版本。
    (4) hadoop-client 这个依赖分为hadoop-client-api和hadoop-client -runtime两个依赖。
    (5)支持随机Container和分布式调度。
    (6) MR进行了Task级别的本地优化,性能提升30%。
    (7)支持多个Standby状态的NameNode。
    (8)多个端口被改动。
    (9)支持微软公司的Azure分布式文件系统和阿里巴巴公司的Aliyun分布式文件系统。
    ( 10) DataNode内部添加了负载均衡。

四、 Hadoop的发行版本

  1. Apache Hadoop:最原始(基础)的版本。对于入门学习最好
    官网地址:http://hadoop.apache.org/releases.html
    下载地址:https://archive.apache.org/dist/hadoop/common/
  2. Cloudera Hadoop:在大型互联网企业中用的较多(CDH)
    官网地址:https://www.cloudera.com/downloads/cdh/5-10-0.html
    下载地址:http://archive-primary.cloudera.com/cdh5/cdh/5/
    Cloudera产品主要为CDH,Cloudera Manager,Cloudera Support
    (1)CDH是Cloudera的Hadoop发行版,完全开源,比Apache Hadoop在兼容性,安全性,稳定性上有所增强。
    (2)Cloudera Manager是集群的软件分发及管理监控平台,可以在几个小时内部署好一个Hadoop集群,并对集群的节点及服务进行实时监控。
    (3)Cloudera Support即是对Hadoop的技术支持。
    (4)Cloudera开发并贡献了可实时处理大数据的Impala项目。
  3. Hortonworks:文档较好
    官网地址:https://hortonworks.com/products/data-center/hdp/
    下载地址:https://hortonworks.com/downloads/#data-platform
    Hortonworks的主打产品是Hortonworks Data Platform(HDP)
    (1)HDP也同样是100%开源的产品,HDP除常见的项目外还包括了Ambari(一款开源的安装和管理系统)。
    (2)HCatalog,一个元数据管理系统,HCatalog现已集成到Facebook开源的Hive中。Hortonworks的Stinger开创性的极大的优化了Hive项目。Hortonworks为入门提供了一个非常好的,易于使用的沙盒。
    (3)Hortonworks开发了很多增强特性并提交至核心主干,这使得Apache Hadoop能够在包括Window Server和Windows Azure在内的Microsoft Windows平台上本地运行。
  4. 除了以上三个版本,其他公司,如:MapR、EMC、IBM、Intel、华为等都提供了自己的商业版本。

五、Hadoop生态圈

狭义的Hadoop:是一个适合大数据分布式存储和分布式计算的平台,包括HDFS、MapReduce
和YARN。
广义的Hadoop:是以Hadoop为基础的生态系统,是一个很庞 大的体系,Hadoop是其中最重要、最基础的一个部分;生态系统中的每个子系统只负责解决某个特定的问题域(甚至可能更窄),不是一个全能系统而是小而精的多个小系统。Hadoop 生态圈的主要构成如图所示。
大数据学习笔记—Hadoop概述
常用组件及其功能:
HDFS:分布式文件系统
YAR:资源调度框架
MapReduce:分布式并行编程模型
HBase:建立在Hadoop文件系统之上的分布式的列式数据库
Hive:Hadoop上的大数据数据仓库
Pig:查询大型半结构化数据集的分析平台
Flume:一个高可用、 高可靠、分布式的海量日志采集、聚合和传输的系统
Sqoop:在传统的数据库与Hadoop数据存储和处理平台间进行数据传递的工具
ZooKeeper:提供分布式协调致性服务
Ambari:Hadoop快速部署工具,支持Apache Hadoop集群的供应、管理和监控
Mahout:提供一些可扩展的机器学习领域经典算法的实现

六、Hadoop典型应用架构

大数据学习笔记—Hadoop概述