修改配置时要注意是资源层还是计算层的配置。有的放矢!


spark-env中无需配置项如下:

删除这四项:

【msb】spark基于yarn的集群搭建、配置、资源调度参数、优化jars_hdfs

spark-env只需配置

【msb】spark基于yarn的集群搭建、配置、资源调度参数、优化jars_jar_02

spark-defaults中删除配置

【msb】spark基于yarn的集群搭建、配置、资源调度参数、优化jars_hdfs_03

spark-defaults中只需配置

【msb】spark基于yarn的集群搭建、配置、资源调度参数、优化jars_spark_04

只需要启动yarn

【msb】spark基于yarn的集群搭建、配置、资源调度参数、优化jars_spark_05

yarn-site的配置

【msb】spark基于yarn的集群搭建、配置、资源调度参数、优化jars_spark_06

mapred-site配置说明

【msb】spark基于yarn的集群搭建、配置、资源调度参数、优化jars_spark_07

分发spark

【msb】spark基于yarn的集群搭建、配置、资源调度参数、优化jars_spark_08

手动启动RM

​start-yarn.sh​​启动之后,

【msb】spark基于yarn的集群搭建、配置、资源调度参数、优化jars_spark_09

运行mr的wordcount

【msb】spark基于yarn的集群搭建、配置、资源调度参数、优化jars_jar_10

​注意:输入输出路径都是hdfs的路径,非本地路径!​

【msb】spark基于yarn的集群搭建、配置、资源调度参数、优化jars_jar_11

手动启动mr 历史服务

跟spark半毛钱关系没有!

【msb】spark基于yarn的集群搭建、配置、资源调度参数、优化jars_spark_12

spark-shell启动

【msb】spark基于yarn的集群搭建、配置、资源调度参数、优化jars_spark_13

启动spark的历史服务

【msb】spark基于yarn的集群搭建、配置、资源调度参数、优化jars_jar_14

spark-shell也是sparksubmit

【msb】spark基于yarn的集群搭建、配置、资源调度参数、优化jars_hdfs_15

spark on yarn进程分析


spark-shell就是 ​​on yarn​​​ 的​​client​​模式。并且塔=spark shell只支持client模式

如果强行指定为cluster模式,会报错:


【msb】spark基于yarn的集群搭建、配置、资源调度参数、优化jars_jar_16

配置好spark on yarn之后,启动​​spark-shell --master yarn​​之后,分析进程运行情况:

【msb】spark基于yarn的集群搭建、配置、资源调度参数、优化jars_spark_17

【msb】spark基于yarn的集群搭建、配置、资源调度参数、优化jars_spark_18

​ExecutorLauncher​​就是​​ApplicationMaster​​进程。 ​​Driver​​运行在​​SaprkSubmit​​这个JVM进程之中。

【msb】spark基于yarn的集群搭建、配置、资源调度参数、优化jars_jar_19

【msb】spark基于yarn的集群搭建、配置、资源调度参数、优化jars_hdfs_20

自定义spark-submit提交任务脚本

【msb】spark基于yarn的集群搭建、配置、资源调度参数、优化jars_hdfs_21

【msb】spark基于yarn的集群搭建、配置、资源调度参数、优化jars_spark_22

cluster模式下driver在AM进程中

【msb】spark基于yarn的集群搭建、配置、资源调度参数、优化jars_hdfs_23

【msb】spark基于yarn的集群搭建、配置、资源调度参数、优化jars_spark_24

指定spark jars在hdfs的路径

上传jar包到hdfs:

【msb】spark基于yarn的集群搭建、配置、资源调度参数、优化jars_spark_25

vim spark-defaults.conf

【msb】spark基于yarn的集群搭建、配置、资源调度参数、优化jars_jar_26

进行上述操作之后,启动spark-shell就没有上传jar包这个过程了:

【msb】spark基于yarn的集群搭建、配置、资源调度参数、优化jars_jar_27

查看spark任务的hdfs存储路径

【msb】spark基于yarn的集群搭建、配置、资源调度参数、优化jars_hdfs_28

如果不进行优化的话,任务下会有jar的压缩包:

【msb】spark基于yarn的集群搭建、配置、资源调度参数、优化jars_spark_29

spark on yarn资源调度参数

【msb】spark基于yarn的集群搭建、配置、资源调度参数、优化jars_hdfs_30