Spark application运行hadoop中的Yarn上;Spark 的部署模式;运行Spark application到Spark Standalone;spark on yarn架构

准备工作

启动hadoop相关节点

配置好spark的配置文件spark-env.sh
JAVA_HOME
SCALA_HOME
HADOOP_CONF_DIR	

提交命令

#将Spark-shell运行在Yarn集群上
#资源的调优
bin/spark-shell \
--master yarn \
--deploy-mode  client \
--driver-cores 1 \ # 设置Driver运行CPU数
--driver-memory 1g \ # 设置Driver运行内存
--executor-cores 1 \  # 设置每个EXECUTOR运行CPU数
--num-executors 2  # 总的EXECUTOR数

Spark on yarn架构

spark application运行在集群上

	Driver:应用的管理者(获取资源,任务调度job)
	Executor:运行Task和缓存RDD

Yarn架构设计

如果一个应用程序运行在YARN上,首先给每个应用创建一个APPMaster(应用的管理者):获取资源和调度task

如何去设计Spark application运行在Yarn上

Driver运行在Client.

在这里插入图片描述
申请资源:
Driver ->appMaster ->RM
调度程序
APPMaster ->Driver ->Executor ->Task

Driver运行在集群上

在这里插入图片描述
将APPMaster和Driver进行合并
appMaster(Driver) ->RM

Spark 的部署模式

(1)client(默认值)

表示Driver程序(JVM进程)运行在本地客户端,不是运行在集群的从节点上(worker或Nodemanager)
此种方式
	本地提交之后,可以看到相关日志的输出
官方给我们提供spark-shell 只能运行在client端
	在交互式命令行中编写代码,就相当于*.scala文件中main方法的代码

命令

#通过client方式提交:driver 程序运行在client
bin/spark-submit \ # 提交任务
--master yarn \  #运行到yarn上
--deploy-mode  client \ # 运行模式 客户端模式
--class com.huadian.bigdata.spark.core.TrackLogAnalyseSpark \  #运行的程序
--driver-cores 1 \ 
--driver-memory 1g \
--executor-cores 1 \
--num-executors 2 \
spark-learning-1.0-SNAPSHOT.jar \ # 运行的jar包
yarn  # 自定义参数

(2)cluster

表示将Driver进程运行在集群的从节点上,就是运行在worker或者Nodemanager
在实际的项目开发中,布局模式肯定是cluster mode
#通过Cluster方式提交到Yarn
bin/spark-submit \
--master yarn \
--deploy-mode  cluster \  # 设置运行模式为集群模式
--class com.huadian.bigdata.spark.core.TrackLogAnalyseSpark \
--driver-cores 1 \
--driver-memory 512M \
--executor-cores 1 \
--num-executors 2 \
spark-learning-1.0-SNAPSHOT.jar \
yarn

运行Spark application到Spark Standalone

部署模式为client

bin/spark-submit \
--master spark://bigdata-hpsk01.huadian.com:7077 \
--deploy-mode  client \
--class com.huadian.bigdata.spark.core.TrackLogAnalyseSpark \
--executor-cores 1 \
--total-executor-cores 2 \ # 总的executor可以用的CPU数
--driver-memory 512M \
--executor-memory 512M \
spark-learning-1.0-SNAPSHOT.jar \
spark://bigdata-hpsk01.huadian.com:7077  # 运行到哪个节点上

部署模式为cluster

#--supervise 如果Driver程序挂了,重启
bin/spark-submit \
--master spark://bigdata-hpsk01.huadian.com:6066 \ # 集群模式节点为6066
--deploy-mode  cluster \  # 运行模式为集群模式
--class com.huadian.bigdata.spark.core.TrackLogAnalyseSpark \
--supervise \
--executor-cores 1 \
--total-executor-cores 1 \
--driver-memory 512M \
--driver-cores 1 \
--executor-memory 512M \
spark-learning-1.0-SNAPSHOT.jar \
spark://bigdata-hpsk01.huadian.com:6066
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

无名一小卒

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值