将自己编写的的jar包放到本地或Spark standalone上运行;设置每个Spark application运行的资源

本地运行jar包

将自己的jar包上传到Linux中
运行Spark的Master节点与Worker节点
在Spark目录下运行以下命令

bin/spark-submit \
--class com.huadian.bigdata.spark.core.TrackLogAnalyseSpark \
spark-learning-1.0-SNAPSHOT.jar \
local[2]

结果

在这里插入图片描述

Spark standalone上运行自定义jar包

bin/spark-submit \
--master spark://bigdata-hpsk01.huadian.com:7077 \
--class com.huadian.bigdata.spark.core.TrackLogAnalyseSpark \
spark-learning-1.0-SNAPSHOT.jar \
spark://bigdata-hpsk01.huadian.com:7077

结果

结果将不在控制台输出
在这里插入图片描述
结果输出在日志文件中
在这里插入图片描述

设置每个Spark application运行的资源

bin/spark-submit \
--master spark://bigdata-hpsk01.huadian.com:7077 \
--class com.huadian.bigdata.spark.core.TrackLogAnalyseSpark \
--executor-cores 1 \
--total-executor-cores 2 \
--driver-memory 512M \
--executor-memory 512M \
spark-learning-1.0-SNAPSHOT.jar \
spark://bigdata-hpsk01.huadian.com:7077

结果

可以看到有两个任务在同时跑一个任务
在这里插入图片描述
在这里插入图片描述

spark application运行的过程

回顾MapReduce程序运行在Yarn集群组成

-1.Application Master
	应用的管理者,负责资源的申请,task运行监控调度
-2.Task的运行
	MapTask和ReduceTask,都是运行在Nodemanager上Container容器中。

spark application运行在集群下,包含2部分

-1.Driver Program -JVM 进程
相当于AppMaster,应用的管理者,主要是调度job的执行
就是程序Main方法,必须创建sparkContext实例对象
端口号4040,提供应用的监控

-2.Executor s
每一个Executor是一个JVM进程,里面包含内存和CPU(可以理解为容器container),运行Task—相当于线程池
那么executor可以运行多少个tasks,就看有多少core

发布了156 篇原创文章 · 获赞 115 · 访问量 6万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 技术黑板 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览