Running Spark on YARN

来源:互联网 发布:河图 知乎 编辑:程序博客网 时间:2024/05/19 04:29

在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
原创粉丝点击