1、获取配置文件,并创建job,提交到集群如:

Configuration conf = getConf();
conf.set("fs.defaultFS", "hdfs://192.168.30.150:8020");String jobName = getClass().getSimpleName();Job job = Job.getInstance(conf, jobName);
job.setJarByClass(TestMapReduce.class);
job.setMapperClass(TestMapper.class);
job.setMapOutputKeyClass(Text.class);
job.setMapOutputValueClass(Text.class);
job.setNumReduceTasks(0);FileInputFormat.addInputPath(job, new Path(inputPath));
FileOutputFormat.setOutputPath(job, new Path(outputPath));job.waitForCompletion(true);

当执行waitForCompletion(true)之后hadoop是如何将任务提交到集群上的呢?以下步骤都是在客户端执行:

1、获取资源提交路径

本地路径为:file://....../.staging
yarn环境为:hfds://....../.staging

和JobId拼接成一个Job资源提交路径如:

hfds://....../.staging/jobid

2、调用FileInputFormat.getSplits()获取切片规划List<FileSplit>,并序列化为文件job.split,拷贝到job资源提交路径中去。

3、将job相关参数写成一个文件job.xml,拷贝到job资源提交路径中去。

4、获取job的jar包,拷贝到job资源提交路径中去。就是上面代码中的:

job.setJarByClass(TestMapReduce.class);
/*** Set the job's jar file by finding an example class location.* * @param cls the example class.*/public void setJarByClass(Class cls) {String jar = ClassUtil.findContainingJar(cls);if (jar != null) {setJar(jar);}   }

意思是在class文件的路径下获取job的jar包。

5、接下来就是Yarn或本地程序如何执行程序了。

程序执行流程(一):提交Job到Yarn集群或本地过程相关推荐

  1. spark提交到yarn_详细总结spark基于standalone、yarn集群提交作业流程

    最近总结了一些关于spark core的内容,今天先来和大家分享一下spark的运行模式. spark运行模式 (1)local:在本地eclipse.IDEA中写spark代码运行程序,一般用于测试 ...

  2. JVM原理(二)执行引擎篇(JVM程序执行流程、JIT编译器、JIT编译器优化)

    一.JVM程序执行流程 上一章我们介绍过程序执行通常分为解释执行和编译执行,而Java两种方式都采用了,下面是Java编译成字节码.动态编译和解释为机器码的过程分析: 编译器和解释器的协调工作流程: ...

  3. scala语言的底层是java实现的_Scala学习笔记一(与Java、Jvm的关系以及程序执行流程分析)...

    一.Scala语言与Java.Jvm的关系分析 Scala语言是马丁奥德斯基接触Java语言后,针对Java语言的特点,将函数式编程语言的特点融合到Java中,由此发明的.Scala语言和Java语言 ...

  4. 本地提交spark_Spark在Windows下运行,本地提交spark到远程yarn集群

    [问题]Spark在windows能跑集群模式吗? 我认为是可以的,但是需要详细了解cmd命令行的写法.目前win下跑spark的单机模式是没有问题的. [关键点]spark启动机制容易被window ...

  5. pythonspark集群模式运行_有关python numpy pandas scipy 等 能在YARN集群上 运行PySpark

    有关这个问题,似乎这个在某些时候,用python写好,且spark没有响应的算法支持, 能否能在YARN集群上 运行PySpark方式, 将python分析程序提交上去? Spark Applicat ...

  6. 基于YARN集群构建运行PySpark Application

    文章转载:https://www.tuicool.com/articles/eaYVN3v Spark Application可以直接运行在YARN集群上,这种运行模式,会将资源的管理与协调统一交给Y ...

  7. ASP.NET Core应用程序容器化、持续集成与Kubernetes集群部署(二)

    在上文中我介绍了ASP.NET Core应用程序容器化时需要注意的几个问题,并给出了一个案例应用程序:tasklist.今天接着上文的内容,继续了解一下如何使用Azure DevOps进行ASP.NE ...

  8. hadoop yarn 集群配置

    yarn基本概念 yarn是负责调度mapreduce程序,hdfs是负责存储数据 1.Resource Manager 接受用户提交的分布式计算程序,并为其划分资源 管理.监控各个Node Mana ...

  9. 搭建Spark On YARN集群

    文章目录 零.本讲学习目标 一.Spark On YARN架构 (一)client提交方式 (二)cluster提交方式 二.搭建Spark On YARN集群 (一)搭建Spark Standalo ...

  10. Spark基础学习笔记:搭建spark on yarn 集群

    一.Spark On YARN架构 Spark On YARN模式遵循YARN的官方规范,YARN只负责资源的管理和调度,运行哪种应用程序由用户自己实现,因此可能在YARN上同时运行MapReduce ...

最新文章

  1. MySQL数据库开发常见问题及几点优化!
  2. python课程推荐-课程推荐:四天人工智能 python入门体验课
  3. 财务需要学python-财务人要学Python吗?
  4. java util concurrent_Error: java.util.concurrent.Execution
  5. php对象序列化总出错false
  6. Oracle脚本笔记
  7. NLog日志写文件的一个性能问题
  8. php在html里面的位置,关于script在html中的摆放位置解析
  9. Python自定义分页组件
  10. 今晚直播丨2020年全国首场12c OCM直考揭秘
  11. 学习面向对象编程OOP 第一天
  12. Ubuntu 安装 JDK 7 / JDK8 的两种方式
  13. AngularJs ngList、ngRepeat、ngModelOptions
  14. 解决办法:对lzma_stream_decoder/lzma_code/lzma_end未定义的引用
  15. python毕业设计作品基于django框架 校园失物招领系统毕设成品(6)开题答辩PPT
  16. 【华为浏览器如何安装扩展程序】
  17. [经典进程同步问题]哲学家思考
  18. Kaldi中语言模型
  19. uniapp H5嵌套通讯方案-webviewiframe
  20. 技校可以学计算机平面设计吗,计算机平面设计免费试学服务为先_孙进技校

热门文章

  1. D3D9学习笔记之顶点缓存与索引缓存
  2. java使用环信信息推送,环信推送详解
  3. Aurix 多核链接文件 lsl --- 上篇
  4. React lazyLoad懒加载
  5. CLH(Craig, Landin, and Hagersten locks)机制
  6. 多元共线性检测 -- 方差膨胀因子(Python 实现)
  7. R语言绘图 | Venn图
  8. 如何离线使用Google文档
  9. 义隆循环左移c语言,义隆单片机EM78PXXX的乘除的运算法
  10. 普通人除了打工,究竟如何才能赚到钱?