大数据开发技术之Hadoop的作业提交流程

lnh2017 · · 1818 次点击 · 开始浏览    置顶
这是一个创建于 的主题,其中的信息可能已经有所发展或是发生改变。

通用的任务程序提交步骤为: 1.客户端向resourceManager发送job请求 2.resourceManager返回存储路径,jobId给客户端 3.客户端创建路径把jobId,分片信息,配置文件信息,jar文件拷贝到返回的存储路径上 4.客户端向resourceManager报告提交完成 5.resourceManager在nodeManager上启动一个容器(container),在container中执行mrappmaster进程(主管mr任务执行) 6.mrappmaster取得分片信息,任务的相关配置,计算job所需资源 7.mrappmaster向resourceManager申请资源 8.resourceManager准备资源,mrappmaster启动container运行mapTask 9.maptask进程启动之后,根据给定的数据切片范围进行数据处理,处理流程: 1)利用客户指定的inputformat来获取recordReader读取数据,形成kv键值对。 2)将kv传递给客户定义的mapper类的map方法,做逻辑运算,并将map方法的输出kv收集到缓存。 10.mrappmaster监控所有的maptask进程完成之后,会根据用户指定的参数来启动相应的reduceTask进程,并告知reduceTask需要处理的数据范围 11.reducetask启动之后,根据appmaster告知的待处理的数据位置,从若干的maptask所在的机器上获取若干的maptask输出结果,并在本地进行一个归并排序,然后,再按照相同的key的kv为一组,调用客户自定义的reduce方法,并收集输出结果kv,然后按照用户指定的outputFormat将结果存储到外部设备。 12.所有任务定期向mrappmaster报告任务进度,所有任务完成后,mrappmaster报告resourceManager释放资源

有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1818 次点击  
加入收藏 微博
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传