天亮高端IT教育品牌

关注微信交流群

课堂一角


hadoop相关教程_简介

天亮教育

1、             开本专题的背景意义

   面试体会:应用层面过浅、对平台框架理解不到位

   求职倾向:不要讲hadoop开发工程师,因为它仅是个简单的工具而已

2、             Hadoop历史发展

   Nutch:

   Lucene:

   NDFS:nutch distributed file system

   MapReduce:

   Hadoop:GFSàHDFS,MapReduceàMapreduce,BigTableàHbase,ChubbyàZookeeper

   Doug Cutting:

    Google三大论文:GFS,MapReduce,BigTable,Chubby

3、             Hadoop核心组件

Common: 一组分布式文件系统和通用I/O组件与接口(序列化、javarpc和持久数据结构)

Arvo: 一种支持高效、跨语言的RPC以及永久存储数据的序列化系统。

Zookeeper:分布式、可用性高的协调服务,提供分布式锁之类的基本服务用于构建分布式应用。

HDFS:分布式文件系统,Hadoop distributed File System

MapReduce : 分布式处理模型与计算框架

 

经典:WordCount

4、             关键名词解释

      Hdfs:         namenode,中心点,管理hdfs的命名、节点、数据块的安全、协同一致

secondary namenode:对namenode的snap screen.

datanode

            

      Mapreduce:   jobtracker

,tasktracker

 

         Job: 一个具有独立的计算任务单元 

5、             Hadoop生态圈相关

Hive: 数据仓库与hql操作mr

Pig:数据流语言,是hadoop的轻量级封装,相对于它,hive是重量级的

HBase:基于列存储的nosql数据库,可以用于海量数据存储和实时查询

Sqoop: 在数据库和HDFS之间高效传输数据的工具

Storm:  分布式实时计算,强调实时性,常用于实时性要求较高的地方

     Spark: Spark基于map reduce算法实现的分布式计算框架,拥有Hadoop MapReduce所具有的优点;但不同于MapReduce的是Job中间输出和结果可以保存在内存中,从而不再需要读写HDFS,因此Spark能更好地适用于数据挖掘与机器学习等需要迭代的map reduce的算法。

6、             hadoop FAQ

6.1  是不是所有的大数据计算都可以用hadoop来搞定?

  只有可以将数据独立分离计算与合并的任务才可以用hadoop来搞定,即可分割。但大量的实战证明,绝大多数的计算任务都可以通过合理的设计化分成可以划分成可以hadoop处理的任务。但像gzip压缩包解压缩这样的操作,一般认为是无法用hadoop来并行计算的,因为gzip是不可分割的,但像lzo,bz2等可分割的压缩格式,均可以被hadoop处理。

 

6.2  hadoop不适宜于实时性计算较强的计算

它是专为离线大数据而设计的,讲究的是吞吐量而非响应速度。像实时查询、实时计算对于hadoop是不适合的。为此hadoop也开发如hbase等为解决这一问题作出努力,但在实时性方面还是很大的弱点,像最近兴趣的sparkstorm等,可以作为大数据实时处理的利器,与hadoop互补使用。