MAPREDUCE服务 MRS-常用参数:Driver配置
Driver配置
Spark Driver可以理解为Spark提交应用的客户端,所有的代码解析工作都在这个进程中完成,因此该进程的参数尤其重要。下面将以如下顺序介绍Spark中进程的参数设置:
- JavaOptions:Java命令中“-D”后面的参数,可以由System.getProperty获取。
- ClassPath:包括Java类和Native的Lib加载路径。
- Java Memory and Cores:Java进程的内存和CPU使用量。
- Spark Configuration:Spark内部参数,与Java进程无关。
参数 |
描述 |
默认值 |
---|---|---|
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文件进行设置。 |
|
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) |