【spark床头书系列】如何在YARN上启动Spark官网权威详解说明

本文详述了如何在YARN上启动Spark应用程序,包括客户端和集群模式,配置注意事项,Kerberos设置,以及使用Spark历史服务器。此外,还讨论了日志调试、外部Shuffle服务和Oozie集成。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

【spark床头书系列】如何在YARN上启动Spark官网权威详解说明点击这里看全文


确保 HADOOP_CONF_DIR 或者 YARN_CONF_DIR 指向包含(客户端侧)Hadoop集群配置文件的目录。
这些配置文件用于写入HDFS和连接到YARN ResourceManager。该目录中的配置将被分发到YARN集群,以便应用程序使用相同的配置。如果配置引用了YARN未管理的Java系统属性或环境变量,则也应在Spark应用程序的配置中设置(驱动程序、执行器和以客户端模式运行时的应用程序主进程)。

在YARN上可以使用两种部署模式来启动Spark应用程序。在 cluster 模式下,Spark driver 在由YARN在集群上管理的应用程序主进程中运行,客户端在启动应用程序后可以退出。在 client 模式下,driver 在客户端进程中运行,应用程序主进程仅用于从YARN请求资源。

与Spark支持的其他集群管理器不同,其中主节点地址在 --master 参数中指定,在YARN模式下ResourceManager的地址是从Hadoop配置中获取的。
因此,--master 参数是 yarn

要以 cluster 模式启动Spark应用程序:

$ ./bin/spark-submit --class path.to.your.Class --master yarn --deploy-mode cluster [options] <app jar> [app options]

例如:

$export HADOOP_CONF_DIR=/etc/hadoop/conf;
./bin/spark-submit --class org.apache.spark.examples.SparkPi \
    --master yarn \
    --deploy-mode cluster \
    --driver-memory 4g \
    --executor-memory 2g \
    --executor-cores 1 \
    --queue thequeue \
    examples/jars/spark-examples*.jar \
    10

上述示例启动了一个YARN客户端程序,该程序启动了默认的Application Master。然后,SparkPi将作为Application Master的子线程运行。客户端会定期轮询Application Master以获取状态更新,并在控制台中显示它们。一旦应用程序运行完成,客户端将退出。有关如何查看驱动程序和执行器日志,请参考下面的“调试应用程序”部分。

要以 client 模式启动Spark应用程序,可以执行相同的操作,只需将 cluster 替换为 client。以下是在 client 模式下运行 spark-shell 的示例:

$ ./bin/spark-shell --master yarn --deploy-mode client

添加其他JAR文件

cluster 模式下,driver 在与客户端不同的机器上运行,因此 SparkContext.addJar 默认情况下无法使用客户端本地的文件。要使客户端上的文件对 SparkContext.addJar 可用,可以在启动命令中使用 --jars 选项包含它们。

$ ./bin/spark-submit --class my.main.Class \
    --master yarn \
    --deploy-mode cluster \
    --jars my-other-jar.jar,my-other-other-jar.jar \
    my-main-jar.jar \
    app_arg1 app_arg2

准备工作

在YARN上运行Spark需要一个构建了YARN支持的二进制分发版Spark。
二进制分发版可以从该项目网站的下载页面下载。
要自己构建Spark,请参考构建Spark

为了使YARN端能够访问Spark运行时jar文件,可以指定 spark.yarn.archive 或者 spark.yarn.jars。详细信息请参考Spark属性。如果未指定 spark.yarn.a

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

BigDataMLApplication

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

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

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

打赏作者

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

抵扣说明:

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

余额充值