首页 理论教育 Spark应用程序的部署与优化

Spark应用程序的部署与优化

时间:2023-06-20 理论教育 版权反馈
【摘要】:在Spark 1.0之后,Spark应用程序的提交方式有了很大的变化,各种运行模式试图通过统一的脚本来提交应用程序,目前最常用的就是spark-submit工具,其基本的提交格式为:options参数的选择和运行模式相关,不同的运行模式会有自己特有的options选项。但是该WebUI随着应用程序的完成而关闭端口,也就是说,Spark应用程序运行完后,将无法查看应用程序的历史记录。是否记录Spark事件,用于应用程序在完成后重构WebUI。

Spark应用程序的部署与优化

在Spark 1.0之后,Spark应用程序的提交方式有了很大的变化,各种运行模式试图通过统一的脚本来提交应用程序,目前最常用的就是spark-submit工具,其基本的提交格式为:

978-7-111-52860-9-Chapter04-4.jpg

options参数的选择和运行模式相关,不同的运行模式会有自己特有的options选项。如果想了解options选项的具体细节,可与在命令终端输入spark-submit--help命令查看,如下:

978-7-111-52860-9-Chapter04-5.jpg

对于提交的任务,无论是哪种运行模式提交的,在运行Spark应用程序的时候,都可以通过WebUI控制台页面来看具体的运行细节。只要输入地址:http://<driver-node>:4040就可以查看当前的运行状态。但是该WebUI随着应用程序的完成而关闭端口,也就是说,Spark应用程序运行完后,将无法查看应用程序的历史记录。Spark History Server就是为了应对这种情况而产生的,通过配置,Spark应用程序在运行完应用程序之后,将应用程序的运行信息写入指定目录,而Spark History Server可以将这些运行信息装载并以web的方式供用户浏览。要使用History Server,对于提交应用程序的客户端需要配置以下参数(在$SPARK_HOME/conf下的spark-defaults.conf文件中配置):

(1)spark.eventLog.enabled。是否记录Spark事件,用于应用程序在完成后重构WebUI。

(2)spark.eventLog.dir。如果spark.eventLog.enabled为true,该属性为记录spark事件的根目录。在此根目录中,Spark为每个应用程序创建分目录,并将应用程序的事件记录到在此目录中。用户可以将此属性设置为HDFS目录,以便History Server读取历史记录文件。

(3)spark.yarn.historyServer.address。Spark History Server的地址(不要加http://)。这个地址会在Spark应用程序完成后提交给YARN RM,然后RM将信息从RM UI写到History Server UI上。

而对于History Server的服务端,可以配置以下环境变量:(www.xing528.com)

SPARK_DAEMON_MEMORY分配给history server的内存大小,默认512 MB。

SPARK_DAEMON_JAVA_OPTS history server的JVM选择,默认为空。

SPARK_PUBLIC_DNS history server的公网地址,如果不设置,可以用内网地址来访问。默认为空。

SPARK_HISTORY_OPTS history server的属性设置,属性如表4-2所示,默认为空。

History Server的属性列表如表4-2所示。

表4-2 History Server的属性列表

978-7-111-52860-9-Chapter04-6.jpg

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈