Hadoop基础知识及部署模式

一、Hadoop是什么

Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力,解决海量数据的存储及海量数据的分析计算问题。

广义上的Hadoop是指Hadoop的整个技术生态圈;狭义上的Hadoop指的是其核心三大组件,包括HDFS、YARN及MapReduce.

二、Hadoop的发展史

Hadoop起源于Lucene框架,后其创始人为解决对于海量数据存储困难、检索速度慢的问题,借鉴了Google的大数据神级三大思想,创建了Nutch,后被分离出来,纳入Apache的项目Hadoop中。因此说Google的大数据三大思想是Hadoop的思想之源也不为过。这三大思想分别对应三篇论文:

  • The Google File System (对应HDFS)
  • MapReduce: Simplified Data Processing on Large Clusters (对应MapReduce)
  • Bigtable: A Distributed Storage System for Structured Data (对应HBase)

建议大家都去找这三篇论文进行阅读学习,这对大数据的理解大有裨益,而且最好看英文原版,资源可在网上搜索查找。

三、Hadoop发行版本

Hadoop目前发展得最好的有三大发行版本:Apache、Cloudera(CDH)、Hortonworks(HDP)。他们都有各自的特点:

  • Apache是最原始、最基础的版本,Hadoop项目也是起源于Apache,对于入门学习最好,因此也使得其生态系统开源社区最为活跃。但由于其生态里的各组件版本较为混乱,因此会产生较多依赖和冲突。
  • Cloudera最早将Hadoop商用化,比Apache Hadoop在兼容性、安全性、稳定性上有所增强,在大型互联网企业中用得较多。但其安装集群的框架不是开源的,商用服务需要按节点收费。
  • Hortonworks开发了很多增强特性并提交至核心主干,使得Apache Hadoop能够在Microsoft Windows平台上本地平稳运行;另外其文档做得较好。但其发展起步最晚,普及度不高,安装和升级较为费劲,其服务也是按节点收费。

我们的介绍基于Apache版本开展。

四、Hadoop的优势

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

五、Hadoop1.x与2.x的区别

在Hadoop1.x时代,Hadoop中的MapReduce同时处理业务逻辑运算和资源的调度,耦合性较大。 在Hadoop2.x时代,增加了Yarn。Yarn只负责资源的调度,MapReduce只负责分析运算。 Hadoop3.x在组成上没变化,但在功能和性能方面,对Hadoop内核进行了多项重大改进。由于本文基于2.x目前最新版本2.10.1进行介绍,3.x版本会在之后再作详细探讨。

你可能感兴趣的:(hadoop,大数据,分布式)