hadoop主要类介绍-开始篇
来源:互联网 发布:如何看c语言程序的执行 编辑:程序博客网 时间:2024/06/16 00:38
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主要类介绍-开始篇
- 这篇文章开始,主要开始研究linux内核和hadoop
- 【大数据 hadoop】大数据框架Hadoop主要模块介绍
- Paint类主要方法介绍
- Rokon引擎主要类介绍
- Rokon引擎主要类介绍
- Hadoop 入门2、简要介绍Hadoop的各个主要模块(概念层次)
- hadoop开始
- JFreeChart的主要类的介绍
- Lucene搜索引擎API的主要类介绍
- lucene2.0中主要类的介绍
- Lucene搜索引擎API的主要类介绍
- Lucene搜索引擎API的主要类介绍
- list模板类的主要函数介绍
- 详细介绍QT 主要类使用方法
- 学习muduo(主要类的介绍)
- Hadoop主要子项目
- hadoop主要配置文件详解
- 使用libmodbus库快速构建上位机(一) 搭建环境
- C#判断访问网站的设备类型
- 来公司一年小结
- [leetcode]: 447. Number of Boomerangs
- python的一些细节(2)
- hadoop主要类介绍-开始篇
- 两步搞定 Thinkphp5 视图分离
- 正确理解转义字符\
- ajax晋级篇---无刷新的数据交互用户名验证----json反馈
- web 框架详解(python)
- ARM处理器的协处理器CP15/CP14
- 授权普通用户 sudo -i 使其具有root的权限
- c# progressBar进度条改变颜色及显示进度数字
- Python冒泡排序算法