您的位置:首页 > 大数据

大数据学习笔记3--HDFS扩展和mapreduce工作过程

2015-04-11 20:52 696 查看
HDFS配置:

客户端中的配置参数可以覆盖服务端的参数。

例如:副本数,切块大小

HDFS文件存储:

服务端存储block的实际大小,但是不适合存储小文件,小文件会占用namenode的元数据空间。

对于小文件数据的优化,可以在上传之前先合并再上传。

例如:压缩、文本文件合并

HDFS扩展:

hdfs支持rest API,与平台无关

jetty 容器

hdfs支持rest command

分布式任务传统方式:

任务资源分发 jar配置文件。。。硬件资源的分配

任务在各个任务节点上设置运行环境,启动执行

监视各个阶段任务执行状态

任务失败,重试

中间结果调度,汇总

hadoop对分布式抽象

yarn:资源调度器,负责硬件资源调度、任务分配、环境配置、启动任务。

mapredce:分布式运算框架,监视任务执行、失败重试、中间结果调度。

spark、storm:实时计算

mapreduce

mapper:

一次读取一行数据

输出一组keyValue

mapper个数等于block块数

shuffle:

合并数据

reduce:

业务逻辑处理

hadoop序列化机制:

hadoop中目前的序列化机制是writable,后续版本中会替换为avro

mapreduce任务提交方式

jar包,hadoop jar wordcount.jar Count

mr会被提交到集群,属于集群的运行方式

local模式

在eclipse里直接运行main方法

eclipse hadoop 插件

mapreduce任务执行流程

RunJar:客户端

ResourceManager:资源管理器,老大

NodeManager:执行任务管理器

MrAppMaste:任务启动、监控、失败重试

yarnchild:mapper和reducer

RunJar向ResourceManager申请提交一个job

ResourceManager返回jobid和一个job的提交的路径(hdfs://)

RunJar提交job任务的相关文件(jar,配置job.xml,split.xml)到hdfs

RunJar上报给ResourceManager任务已经提交完成

ResourceManager分配资源,并将任务任务写入到任务队列中

NodeManager主动向ResourceManager领取任务

NodeManager在一个容器中启动MrAppMaster

MrAppMaster向ResourceManager注册

ResourceManager向MrAppMaster返回资源信息

MrAppMaster启动mapper(mapper reducer详细流程。。。)

MrAppMaster启动reducer

任务执行完成,向ResourceManager注销资源
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: