相关内容
Spark中文手册-编程指南
Spark之一个快速的例子 Spark之基本概念
Spark之基本概念
Spark之基本概念(2)
Spark之基本概念(3)
Spark-sql由入门到精通
Spark-sql由入门到精通续
spark GraphX编程指南(1)
spark GraphX编程指南(2)
spark部署:提交应用程序及独立部署模式
配置
Spark属性
在YARN上启动Spark
添加其它的jar
注意事项
Spark中文手册-编程指南
Spark之一个快速的例子 Spark之基本概念
Spark之基本概念
Spark之基本概念(2)
Spark之基本概念(3)
Spark-sql由入门到精通
Spark-sql由入门到精通续
spark GraphX编程指南(1)
spark GraphX编程指南(2)
spark部署:提交应用程序及独立部署模式
配置
大部分为Spark on YARN模式提供的配置与其它部署模式提供的配置相同。下面这些是为Spark on YARN模式提供的配置。
Spark属性
在YARN上启动Spark
确保HADOOP_CONF_DIR或YARN_CONF_DIR指向的目录包含Hadoop集群的(客户端)配置文件。这些配置用于写数据到dfs和连接到YARN ResourceManager。
有两种部署模式可以用来在YARN上启动Spark应用程序。在yarn-cluster模式下,Spark driver运行在application master进程中,这个进程被集群中的YARN所管理,客户端会在初始化应用程序 之后关闭。在yarn-client模式下,driver运行在客户端进程中,application master仅仅用来向YARN请求资源。
和Spark单独模式以及Mesos模式不同,在这些模式中,master的地址由"master"参数指定,而在YARN模式下,ResourceManager的地址从Hadoop配置得到。因此master参数是简单的yarn-client和yarn-cluster。
在yarn-cluster模式下启动Spark应用程序。
例子:
以上启动了一个YARN客户端程序用来启动默认的 Application Master,然后SparkPi会作为Application Master的子线程运行。客户端会定期的轮询Application Master用于状态更新并将 更新显示在控制台上。一旦你的应用程序运行完毕,客户端就会退出。
在yarn-client模式下启动Spark应用程序,运行下面的shell脚本
添加其它的jar
在yarn-cluster模式下,driver运行在不同的机器上,所以离开了保存在本地客户端的文件,SparkContext.addJar将不会工作。为了使SparkContext.addJar用到保存在客户端的文件, 在启动命令中加上--jars选项。
注意事项
- 在Hadoop 2.2之前,YARN不支持容器核的资源请求。因此,当运行早期的版本时,通过命令行参数指定的核的数量无法传递给YARN。在调度决策中,核请求是否兑现取决于用哪个调度器以及 如何配置调度器。
- Spark executors使用的本地目录将会是YARN配置(yarn.nodemanager.local-dirs)的本地目录。如果用户指定了spark.local.dir,它将被忽略。
- --files和--archives选项支持指定带 # 号文件名。例如,你能够指定--files localtest.txt#appSees.txt,它上传你在本地命名为localtest.txt的文件到HDFS,但是将会链接为名称appSees.txt。当你的应用程序运行在YARN上时,你应该使用appSees.txt去引用该文件。
- 如果你在yarn-cluster模式下运行SparkContext.addJar,并且用到了本地文件, --jars选项允许SparkContext.addJar函数能够工作。如果你正在使用 HDFS, HTTP, HTTPS或FTP,你不需要用到该选项