Running Spark on YARN

在YARN上启动Spark

确保HADOOP_CONF_DIR或YARN_CONF_DIR指向包含Hadoop集群的(客户端)配置文件的目录。这些配置被用来写入HDFS并连接到YARN ResourceManager。此目录中包含的配置将分发到YARN集群,以便应用程序实用的所有容器都使用相同的配置。如果配置引用了不受YARN管理的Java系统属性或者环境变量,那么也应该在Spark应用程序的配置(driver,executors,and the AM when running in client mode)中设置。

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

与Spark standalone和Mesos模式不同,在这两种模式下the master’s address 在–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]

例如:

$ ./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 \
    lib/spark-examples*.jar \
    10

以上启动了一个YARN客户端程序,这个客户端程序启动了一个defalut application Master。SparkPi将作为Application Master的子线程运行。客户端将定期轮询Application Master的状态更新并将其显示在控制台中。一旦你的应用程序运行完毕,客户端将退出。请参阅下面的“Debugger your application“,了解如何查看驱动程序和执行程序日志。

在client模式下启动一个Spark应用程序只需将cluster替换为client,其他操作同cluster。以下显示如何在client模式下运行spark-shell:

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值