第一章:初识Hadoop2.x

Hadoop2.x起源

  1. Apache Lucene 开源的高性能全文检索工具包
  2. Apache Nutch 开源的web搜索引擎
  3. Google三大论文 MapReduce / GFS / BigTable
  4. Apache Hadoop 大规模数据处理

Haoop是什么?

Hadoop是Apache软件基金会旗下的一个开源分布式计算平台。

实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS,用于存储海量数据,为进行海量数据处理提供基础。HDFS有高容错性的特点,并且部署在低廉的(low-cost)硬件上,提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集的应用程序

实现了MapReduce分布式运算框架,用于计算HDFS上存储的数据。用户可以在不了解分布式底层细节的情况下,基于Mapreduce提供简单的Api开发应用程序,并运行在整个集群上,充分利用集群的计算和存储能力,完成海量数据的处理

Hadoop的两大核心:HDFS和MapReduce。HDFS用于存储海量数据,MapReduce用于计算海量数据。

Hadoop是一个开源框架,可编写和运行分布式应用处理大规模数据。分布式计算是一个宽泛并且不断变化的领域。

Hadoop的优势在于:

1) 方便:Hadoop运行在由一般商用机器构成的大型集群上,或者云计算服务上,比如EC2。

2) 健壮:Hadoop致力于在一般商用硬件上运行,其架构假设硬件会频繁失效,Hadoop可以从容地处理大多数此类故障。

3) 可扩展:Hadoop通过增加集群节点,可以线性地扩展以处理更大的数据集。

4) 简单:Hadoop允许用户快速编写高效的并行代码。

HadoopV2.x四大功能模块介绍

整个Hadoop项目被分割成三个模块,分别是:Common、HDFS和MapReduce

2.0以上版本加入的YARN模块。

该项目包括这些模块:

  • Hadoop Common: The common utilities that support the other Hadoop modules. 支持其他模块的工具类,为Hadoop模块提供基础设备

  • Hadoop Distributed File System (HDFS™): A distributed file system that provides high-throughput access to application data.

    高可靠,高吞吐量的分布式文件系统;   存储海量数据、分布式、安全性(副本数据);

  • Hadoop YARN: A framework for job scheduling and cluster resource management.

    新的MapReduce框架,负责集群的任务调度和集群资源管理(内存,CPU核数)。 其具有良好的扩展性,可以同时对多种应用程序进行资源的管理与调度

  • Hadoop MapReduce: A YARN-based system for parallel processing of large data sets. 分布式的离线并行计算框架

          思想:分而治之

                    大数据分为小的数据集

                    每个数据集,进行逻辑业务处理(map)

                    合并统计数据结果(reduce)

Hadoop生态圈

相关技术介绍

Hive:Mapreduce框架,提供便利的hql用户开发接口,和关系sql语法类似;业界流行。

Pig : Mapreduce框架,提供类sql用户开发接口;基本被Hive取代。

Sqoop: Mapreduce框架,HDFS/Hive 与关系DB导入导出工具。流行。

HBase:分布式数据库,基于自身的文件索引,支撑在线高频读写场景,key-value库。流行。

Mahout: Mapreduce框架,封装了常用的数据挖掘算法。社区已关闭,被Spark取代了。

Impala:基于内存计算引擎,内存版Hive;

Hue:提供Hive查询界面;

Oozie:作业调度系统;

Spark:流行计算引擎,可支撑离线计算、实时计算,内存类产品;流行。

Zookeeper:分布式协作、集群协调;用途广泛。

圈外:

Kafka:消息中间件;

Storm:流计算,实时性极高。

猜你喜欢

转载自my.oschina.net/zupengliu/blog/1790503