深圳网站制作公司 讯神马seo教程
web/
2025/9/29 2:41:56/
文章来源:
深圳网站制作公司 讯,神马seo教程,wordpress图书主题,宣传设计网站1.6 Spark作业提交原理
Spark作业#xff08;任务#xff09;提交就是使用spark中spark-sumbit命令将已经封装好成jar包的程序提交到spark集群中执行运行从而得到计算结果的过程#xff0c;在提交过程中我们对提交的作业#xff08;任务#xff09;进行参数设置操作
spa…1.6 Spark作业提交原理
Spark作业任务提交就是使用spark中spark-sumbit命令将已经封装好成jar包的程序提交到spark集群中执行运行从而得到计算结果的过程在提交过程中我们对提交的作业任务进行参数设置操作
spark提交作业的语法
bin/spark-submit \
--class main-class
--master master-url \
... # other options
application-jar \
[application-arguments]
参数解释--classSpark程序中包含主函数的类--masterSpark程序运行的模式(环境)--deploy-modemaster设为为Yarn模式之后使用的模式client 和 cluster--driver-coresmaster设为为Yarn模式之后设置driver端的的cores个数--driver-memorymaster设为为Yarn模式之后用于设置driver进程的内存单位G或单位M--num-executorsmaster设为为Yarn模式之后用于设置Spark作业总共要用多少个Executor进程来执行--executor-memory指定每个executor可用内存单位G或单位M--total-executor-cores 2指定所有executor使用的cpu核数为2个--executor-cores指定每个executor使用的cpu核数application-jar打包好的应用jar包含依赖。这个URL在集群中全局可见。 比如hdfs:// 共享存储系统如果是file:// path那么所有的节点的path都包含同样的jarapplication-arguments传给main()方法的参数
1.6.1 spark提交作业方式Standalone模式
提交Spark提供的利用蒙特·卡罗算法求π的例子其中100这个参数是计算因子
spark-submit \
--class org.apache.spark.examples.SparkPi \
--master spark://qianfeng01:7077 \
--executor-memory 512m \
--total-executor-cores 2 \
/usr/local/spark-3.1.2/examples/jars/spark-examples_2.12-3.1.2.jar 100
注意:在启动任务的时候并没有指定分配资源,而是有多少资源就使用了多少资源我们在跑任务的时候是可以指定资源的,可以在指定使用核数和内存资源
1.6.2 spark提交作业方式YARN-client模式
提交Spark提供的利用蒙特·卡罗算法求π的例子其中100这个参数是计算因子
spark-submit \
--class org.apache.spark.examples.SparkPi \
--master yarn \
--deploy-mode client \
--driver-cores 1 \
--driver-memory 600M \
--executor-memory 800M \
--executor-cores 2 \
/usr/local/spark-3.1.2/examples/jars/spark-examples_2.12-3.1.2.jar 100
#执行结果如下...... 2022-08-31 17:04:47,763 INFO scheduler.TaskSetManager: Finished task 99.0 in stage 0.0 (TID 99) in 20 ms on qianfeng02 (executor 2) (100/100) 2022-08-31 17:04:47,764 INFO cluster.YarnScheduler: Removed TaskSet 0.0, whose tasks have all completed, from pool 2022-08-31 17:04:47,766 INFO scheduler.DAGScheduler: ResultStage 0 (reduce at SparkPi.scala:38) finished in 1.464 s 2022-08-31 17:04:47,768 INFO scheduler.DAGScheduler: Job 0 is finished. Cancelling potential speculative or zombie tasks for this job 2022-08-31 17:04:47,768 INFO cluster.YarnScheduler: Killing all running tasks in stage 0: Stage finished 2022-08-31 17:04:47,779 INFO scheduler.DAGScheduler: Job 0 finished: reduce at SparkPi.scala:38, took 1.515996 s Pi is roughly 3.1420551142055113 2022-08-31 17:04:47,790 INFO server.AbstractConnector: Stopped Spark3c321bdb{HTTP/1.1, (http/1.1)}{0.0.0.0:4040} 2022-08-31 17:04:47,795 INFO ui.SparkUI: Stopped Spark web UI at http://qianfeng01:4040 ......注意:在启动任务的时候并没有指定分配资源,而是有多少资源就使用了多少资源我们在跑任务的时候是可以指定资源的,可以在指定使用核数和内存资源
1.6.3 spark提交作业方式YARN-Cluster模式
提交Spark提供的利用蒙特·卡罗算法求π的例子其中100这个参数是计算因子
spark-submit \
--class org.apache.spark.examples.SparkPi \
--master yarn \
--deploy-mode cluster \
--driver-cores 1 \
--driver-memory 600M \
--executor-memory 800M \
--executor-cores 2 \
/usr/local/spark-3.1.2/examples/jars/spark-examples_2.12-3.1.2.jar 100
#执行结果
在yarn集群的web ui中对应作业的日志的最底部能看到打印结果。
注意:在启动任务的时候并没有指定分配资源,而是有多少资源就使用了多少资源我们在跑任务的时候是可以指定资源的,可以在指定使用核数和内存资源
1.6.4 YARN-Cluster和YARN-Client的区别 理解YARN-Client和YARN-Cluster深层次的区别之前先清楚一个概念Application Master。在YARN中每个Application实例都有一个ApplicationMaster进程它是Application启动的第一个容器。它负责和ResourceManager打交道并请求资源获取资源之后告诉NodeManager为其启动Container。从深层次的含义讲YARN-Cluster和YARN-Client模式的区别其实就是ApplicationMaster进程的区别 YARN-Cluster模式下Driver运行在AM(Application Master)中它负责向YARN申请资源并监督作业的运行状况。当用户提交了作业之后就可以关掉Client作业会继续在YARN上运行因而YARN-Cluster模式不适合运行交互类型的作业 YARN-Client模式下Application Master仅仅向YARN请求ExecutorClient会和请求的Container通信来调度他们工作也就是说Client不能离开
总结 1Yarn-Cluster的Driver是在集群的某一台NM上但是Yarn-Client就是在Client的机器上 2Driver会和Executors进行通信所以Yarn_Cluster在提交App之后可以关闭Client而Yarn-Client不可以 3Yarn-Cluster适合生产环境Yarn-Client适合交互和调试。 Guff_hys_python数据结构,大数据开发学习,python实训项目-CSDN博客
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/83648.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!