程序执行流程(一):提交Job到Yarn集群或本地过程
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集群或本地过程相关推荐
- spark提交到yarn_详细总结spark基于standalone、yarn集群提交作业流程
最近总结了一些关于spark core的内容,今天先来和大家分享一下spark的运行模式. spark运行模式 (1)local:在本地eclipse.IDEA中写spark代码运行程序,一般用于测试 ...
- JVM原理(二)执行引擎篇(JVM程序执行流程、JIT编译器、JIT编译器优化)
一.JVM程序执行流程 上一章我们介绍过程序执行通常分为解释执行和编译执行,而Java两种方式都采用了,下面是Java编译成字节码.动态编译和解释为机器码的过程分析: 编译器和解释器的协调工作流程: ...
- scala语言的底层是java实现的_Scala学习笔记一(与Java、Jvm的关系以及程序执行流程分析)...
一.Scala语言与Java.Jvm的关系分析 Scala语言是马丁奥德斯基接触Java语言后,针对Java语言的特点,将函数式编程语言的特点融合到Java中,由此发明的.Scala语言和Java语言 ...
- 本地提交spark_Spark在Windows下运行,本地提交spark到远程yarn集群
[问题]Spark在windows能跑集群模式吗? 我认为是可以的,但是需要详细了解cmd命令行的写法.目前win下跑spark的单机模式是没有问题的. [关键点]spark启动机制容易被window ...
- pythonspark集群模式运行_有关python numpy pandas scipy 等 能在YARN集群上 运行PySpark
有关这个问题,似乎这个在某些时候,用python写好,且spark没有响应的算法支持, 能否能在YARN集群上 运行PySpark方式, 将python分析程序提交上去? Spark Applicat ...
- 基于YARN集群构建运行PySpark Application
文章转载:https://www.tuicool.com/articles/eaYVN3v Spark Application可以直接运行在YARN集群上,这种运行模式,会将资源的管理与协调统一交给Y ...
- ASP.NET Core应用程序容器化、持续集成与Kubernetes集群部署(二)
在上文中我介绍了ASP.NET Core应用程序容器化时需要注意的几个问题,并给出了一个案例应用程序:tasklist.今天接着上文的内容,继续了解一下如何使用Azure DevOps进行ASP.NE ...
- hadoop yarn 集群配置
yarn基本概念 yarn是负责调度mapreduce程序,hdfs是负责存储数据 1.Resource Manager 接受用户提交的分布式计算程序,并为其划分资源 管理.监控各个Node Mana ...
- 搭建Spark On YARN集群
文章目录 零.本讲学习目标 一.Spark On YARN架构 (一)client提交方式 (二)cluster提交方式 二.搭建Spark On YARN集群 (一)搭建Spark Standalo ...
- Spark基础学习笔记:搭建spark on yarn 集群
一.Spark On YARN架构 Spark On YARN模式遵循YARN的官方规范,YARN只负责资源的管理和调度,运行哪种应用程序由用户自己实现,因此可能在YARN上同时运行MapReduce ...
最新文章
- MySQL数据库开发常见问题及几点优化!
- python课程推荐-课程推荐:四天人工智能 python入门体验课
- 财务需要学python-财务人要学Python吗?
- java util concurrent_Error: java.util.concurrent.Execution
- php对象序列化总出错false
- Oracle脚本笔记
- NLog日志写文件的一个性能问题
- php在html里面的位置,关于script在html中的摆放位置解析
- Python自定义分页组件
- 今晚直播丨2020年全国首场12c OCM直考揭秘
- 学习面向对象编程OOP 第一天
- Ubuntu 安装 JDK 7 / JDK8 的两种方式
- AngularJs ngList、ngRepeat、ngModelOptions
- 解决办法:对lzma_stream_decoder/lzma_code/lzma_end未定义的引用
- python毕业设计作品基于django框架 校园失物招领系统毕设成品(6)开题答辩PPT
- 【华为浏览器如何安装扩展程序】
- [经典进程同步问题]哲学家思考
- Kaldi中语言模型
- uniapp H5嵌套通讯方案-webviewiframe
- 技校可以学计算机平面设计吗,计算机平面设计免费试学服务为先_孙进技校