设为首页 加入收藏

TOP

hadoop主要类介绍-开始篇
2019-05-07 12:38:32 】 浏览:47
Tags:hadoop 主要 介绍 开始
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/fengzy1990/article/details/72782952

HADOOP类

(1) InputFormat:将输入的数据分割成split,并将split拆分成<k,v>作为map输入。Job.setInputFormatClass()设置,TextInputFormat将文本按行分割成split,LineRecorderReader将每行解析为<k,v>

(2) Mapper:实现map函数,将输入的<k,v>生成中间结果,通过job.setMapperClass()设置。

(3) Combiner:实现combine函数,合并中间具有相同key的键值对,通过job.setCombinerClass()设置。

(4) Partitioner:实现getPartition函数,用于在Shuffle过程中按照key将中间数据分为R份,每份由一个Reducer负责。通过job.setPartitionerClass()设置, 默认使用HashPartitioner类,使用哈希完成Shuffle过程。

(5) Reducer:实现reduce函数,将中间结果合并,得到最终结果。通过job.setReduceClass()设置。

(6) OutputFormat:负责输出最终结果。通过job.setOutputFormatClass()设置,默认使用TextOutputFormat将最终结果以文本输出。


Hadoop有四大核心模块:

Common 常用工具类报 HDFS 数据存储

YARN作业调度+资源管理平台 MAPReduce 数据处理

HDFS 核心组件

Namenode 管理文件系统的命名空间,维护文件系统树,保存着所有文件信息

这些信息通过fsimage和edits文件被持久到磁盘中。

Datanode文件系统中真正存储数据的地方 接口客户端或元数据信息(namenode)写入或者读取数据块请求

Secondarynamenode:不是namenode节点,是namenode出现问题的备用节点

其负责定期合并namenode产生的fsimage和edits文件,防止日志文件过大。

通常不和namenode在一个节点上,合并操作占用CPUD大量时间,会影响namenode正常工作。

备注:Hadoop下载节点http://mirror.bit.edu.cn/apache/hadoop/common/

NameNode是HDFS的守护程序,负责记录文件是如何分割成数据块,以及这些数据块分别存在哪些数据节点上。主要对内存及I/O进行管理。由于其在集群中一个单点,如果NameNode宕机,整个系统无法运行。

DataNode集群中每个从服务器都有一个DataNode后台程序,负责吧HDFS数据块读写到本地文件系统。读写时,先由NameNode告诉去哪个DataNode进行具体读写

Secondary NameNode用来监控HDFS状态的辅助后台程序。每个集群中只有一个。定期保存NameNode的快照,可将NameNode的宕机损失降到最低,同时作为备用NN使用。

Yarn源于MapReduce框架不足,将原有的JobTracker主要的资源管理和job调度/监控分成两个单独守护进程ResourceManager和每个Application有一个ApplicationMaster。RM和NM组成了基本的数据计算框架。RM协调集群的资源利用,需要向其申请资源。NM主要负责启动RM分配给AM的container,并监视器运行情况。


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇hadoop优化策略 下一篇Zookeeper的搭建及Zookeeper实现H..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目