赞
踩
本文隶属于专栏《1000个问题搞定大数据技术体系》,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢!
本专栏目录结构和参考文献请见1000个问题搞定大数据技术体系
通过提交 jar 包,进行 MapReduce 处理,那么整个运行过程分为五个环节:
以下是在 YARN 集群中 MapReduce 应用程序启动时发生的事件序列。
hadoop jar wordcount.jar WordCount testdata output
判断的依据是什么?
- 当一个 job 的 mappers 数量小于10个(mapreduce.job.ubertask.maxmaps)
- 只有一个 reducer(mapreduce.job.ubertask.maxreduces)
- 读取的文件大小要小于一个 HDFS block(mapreduce.job.ubertask.maxbytes)
这就可以解释,不管 mapreduce 一开始是否报错,输出路径都会创建
当 map tasks 执行了百分之 5% 的时候,将会请求reduce
对应的可修改运行的最小与最大参数配置:
mapreduce.map.memory.mb
mapreduce.reduce.memory.mb
mapreduce.map.cpu.vcores
mapreduce.reduce.reduce.cpu.vcores
MapReduce 是一个较长运行时间的批处理过程,可以是一小时、几小时甚至几天,那么 Job 的运行状态监控就非常重要。
每个 job 以及每个 task 都有一个包含 job(running,successfully completed,failed)的状态,以及 value 的计数器,状态信息及描述信息(描述信息一般都是在代码中加的打印信息)
当一个 task 开始执行,它将会保持运行记录,记录 task 完成的比例,对于 map 的任务,将会记录其运行的百分比,对于 reduce 来说可能复杂点,但系统依旧会估计 reduce 的完成比例。当一个 map 或 reduce 任务执行时,子进程会持续每三秒钟与 applicationMaster 进行交互。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。