MAPREDUCE服务 MRS-常用参数:Driver配置

时间:2023-11-02 19:23:18

Driver配置

Spark Driver可以理解为Spark提交应用的客户端,所有的代码解析工作都在这个进程中完成,因此该进程的参数尤其重要。下面将以如下顺序介绍Spark中进程的参数设置:

  • JavaOptions:Java命令中“-D”后面的参数,可以由System.getProperty获取。
  • ClassPath:包括Java类和Native的Lib加载路径。
  • Java Memory and Cores:Java进程的内存和CPU使用量。
  • Spark Configuration:Spark内部参数,与Java进程无关。
表10 参数说明

参数

描述

默认值

spark.driver.extraJavaOptions

传递至driver(驱动程序)的一系列额外JVM选项。例如,GC设置或其他日志记录。

注意:在Client模式中,该配置禁止直接在应用程序中通过SparkConf设置,因为驱动程序JVM已经启动。请通过--driver-java-options命令行选项或默认property文件进行设置。

参考快速配置参数

spark.driver.extraClassPath

附加至driver的classpath的额外classpath条目。

注意:在Client模式中,该配置禁止直接在应用程序中通过SparkConf设置,因为驱动程序JVM已经启动。请通过--driver-java-options命令行选项或默认property文件进行设置。

参考快速配置参数

spark.driver.userClassPathFirst

(试验性)当在驱动程序中加载类时,是否授权用户添加的jar优先于Spark自身的jar。这种特性可用于减缓Spark依赖和用户依赖之间的冲突。目前该特性仍处于试验阶段,仅用于Cluster模式中。

false

spark.driver.extraLibraryPath

设置一个特殊的library path在启动驱动程序JVM时使用。

注意:在Client模式中,该配置禁止直接在应用程序中通过SparkConf设置,因为驱动程序JVM已经启动。请通过--driver-java-options命令行选项或默认property文件进行设置。

  • JDBCServer2x:

    ${SPARK_INSTALL_HOME}/spark/native

  • SparkResource2x:

    ${DATA_NODE_INSTALL_HOME}/hadoop/lib/native

spark.driver.cores

驱动程序进程使用的核数。仅适用于Cluster模式。

1

spark.driver.memory

驱动程序进程使用的内存数量,即SparkContext初始化的进程(例如:512M, 2G)。

注意:在Client模式中,该配置禁止直接在应用程序中通过SparkConf设置,因为驱动程序JVM已经启动。请通过--driver-java-options命令行选项或默认property文件进行设置。

4G

spark.driver.maxResultSize

对每个Spark action操作(例如“collect”)的所有分区序列化结果的总量限制,至少1M,设置成0表示不限制。如果总量超过该限制,工作任务会中止。限制值设置过高可能会引起驱动程序的内存不足错误(取决于spark.driver.memory和JVM的对象内存开销)。设置合理的限制可以避免驱动程序出现内存不足的错误。

1G

spark.driver.host

Driver监测的主机名或IP地址,用于Driver与Executor进行通信。

(local hostname)

spark.driver.port

Driver监测的端口,用于Driver与Executor进行通信。

(random)

support.huaweicloud.com/cmpntguide-mrs/mrs_01_1931.html