准备工作
启动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