hadoop札记1

hadoop笔记1

hdfs mapreduce简介

 

Hadoop组件

 

结构组成

 

   Hadoop2个主要的主件组成:hdfs,mapreduce

 

1)       Hdfs

 

分布式文件系统,按照组成分为

 

masterNode: nameNode,JobTracker,SecondaryNameNode

 

slaveNode: DataNode,TaskTracker

 

nameNode:文件在各节点分块对应表。

 

SecondaryNameNode:文件分布快照,是NameNode的补充节点。

 

DataNode:数据的io操作。

 

taskTracker:各节点的操作监视节点

 

2)       Mapreduce

 

设计为hdfs文件的计算组件。

 

分为:mapper

 

      reducer

 

Mapreduce执行步骤

 

     Mapper负责从hdfs文件系统读取信息,然后输出给reducer,reducer在输出到hdfs文件系统。

 

输入输出格式:

 

           Map(k1,v1)àlist(k2,v2)

 

           Reduce(k2,list(v2))-àlist(k3,v3)

 

 

 

     Hdfs--àInput split--àmap--àshuffling---àreduce--àcombiner--àhdfs

 

其中shuffling中有分区的动作(partitioner)

 

 

 

Input split中包含了

 

文件分块:一个文件分割在一个机器节点上的多个块,或者不同机器节点上。

 

inputFormat: 文件分割到读取文件以什么格式给mapper.

 

            TextInputFormat

 

            KeyValueTextInputFormat

 

            默认实现为FileInputFormat的子类,其中有2个方法

 

getSplits

 

getRecordReader此方法就是决定传什么样的值(RecordReader                                              map方法。

 

      Reduc后调用outputformat来写入文件

 

                默认是textoutputformat

 

      都是FileoutputFormat子类。