HDFS配置:
客户端中的配置参数可以覆盖服务端的参数。
例如:副本数,切块大小
HDFS文件存储:
HDFS扩展:
hdfs支持rest API,与平台无关
jetty 容器
hdfs支持rest command
分布式任务传统方式:
任务资源分发 jar配置文件。。。硬件资源的分配
任务在各个任务节点上设置运行环境,启动执行
监视各个阶段任务执行状态
任务失败,重试
中间结果调度,汇总
hadoop对分布式抽象
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注销资源
大数据学习笔记3--HDFS扩展和mapreduce工作过程
原文:http://blog.csdn.net/jinyingone/article/details/44998943