修改配置时要注意是资源层还是计算层的配置。有的放矢!
spark-env中无需配置项如下:
删除这四项:
spark-env只需配置
spark-defaults中删除配置
spark-defaults中只需配置
只需要启动yarn
yarn-site的配置
mapred-site配置说明
分发spark
手动启动RM
start-yarn.sh
启动之后,
运行mr的wordcount
注意:输入输出路径都是hdfs的路径,非本地路径!
手动启动mr 历史服务
跟spark半毛钱关系没有!
spark-shell启动
启动spark的历史服务
spark-shell也是sparksubmit
spark on yarn进程分析
spark-shell就是
on yarn
的client
模式。并且塔=spark shell只支持client模式如果强行指定为cluster模式,会报错:
配置好spark on yarn之后,启动spark-shell --master yarn
之后,分析进程运行情况:
ExecutorLauncher
就是ApplicationMaster
进程。 Driver
运行在SaprkSubmit
这个JVM进程之中。
自定义spark-submit提交任务脚本
cluster模式下driver在AM进程中
指定spark jars在hdfs的路径
上传jar包到hdfs:
vim spark-defaults.conf
进行上述操作之后,启动spark-shell就没有上传jar包这个过程了:
查看spark任务的hdfs存储路径
如果不进行优化的话,任务下会有jar的压缩包: