你的位置:首页 > 数据库

[数据库]Apache Hadoop简介


Apache Hadoop简介

对Hadoop感兴趣,写点东西记录一下学习之路。

(不跟风,合适的才是最好的,并不是全部企业都会用Hadoop,学习每样东西最重要的是学习他的思维)

  1. 什么是Apache Hadoop

  Apache Hadoop是一个分析和处理大数据的软件平台,允许大型数据集使用简单的编程模型在计算机集群进行分布式处理。传统无法解决大型数据集带来的存储和计算问题,Hadoop最核心的设计就是:HDFSMapReduce,使用HDFS分布式文件系统解决大数据存储问题,使用MapReduce并行计算框架解决大数据分析计算问题。

  学习第一手资料当然是上官网找资料,Apache Hadoop官网:http://hadoop.apache.org/

2.Hadoop版本区别(简单说明)

  hadoop1.x跟2.x的区别

  在Hadoop版本中,区别比较明显的有两个大方向的版本:1.X跟2.X。

  1.X版本中主要有HDFS跟MapReduce两个框架组成,Hadoop1.X的MapReduce框架也叫MRv1,。

  2.X版本中,由于MRv1在扩展性、可靠性、资源利用率和多框架方面存在明显不足,MRv2将资源管理功能抽象成YARN资源调度作业管理系统,也导致单一的MapReduce框架变成支持多框架支持(MapReduce比较适合离线计算)。所以Hadoop2.X版本变成了HDFS+MapReduce+YARN

  其实在Hadoop2.x版本还对HDFS进行了优化,NameNode可以横向扩展不过对于MapReduce的变化相对没那么突出。

3.版本选择问题

  老样子,就项目遗留旧版本,老公司比较多用Hadoop1.0,新公司新项目比较多用Hadoop2.0,厉害的公司自己开发自己的。所以个人觉得两个版本都要学。

4.学习计划

  对于Hadoop学习计划,我是这样计划的,Hadoop设计理念与基本架构(理论知识)-->环境准备-->HDFS学习-->MapReduce学习-->YARN学习

  前期知识储备:

    (1)由于Hadoop大部分搭建在linux,所以要有基本的linux命令行知识,知道基本的ls,cd等等命令,(不会也没事,同时学)

    (2)JavaSE基础,不管做什么,Java基础都要学好,多线程,I/O,网络编程等等。

 

  本文用于挖坑,日后慢慢填坑,坚持每日一文填坑。