翻译: https://www.cloudera.com/documentation/enterprise/latest/topics/spark_applications_configuring.html
版本: 5.14.2
您可以按如下方式指定Spark应用程序配置属性:
- 在命令行使用--conf传递属性; 例如:
spark-submit \
--class com.cloudera.example.YarnExample \
--master yarn \
--deploy-mode cluster \
--conf "spark.eventLog.dir=hdfs:///user/spark/eventlog" \
lib/yarn-example.jar \
10
- 在spark-defaults.conf中指定属性。请参阅在spark-defaults.conf中配置Spark应用程序属性。
- 将属性直接传递给 SparkConf 用于创建 SparkContext 在你的Spark应用程序中; 例如:
- Scala:
val conf = new SparkConf().set("spark.dynamicAllocation.initialExecutors", "5")
val sc = new SparkContext(conf)
- python:
from pyspark import SparkConf, SparkContext
from pyspark.sql import SQLContext
conf = (SparkConf().setAppName('Application name'))
conf.set('spark.hadoop.avro.mapred.ignore.inputs.without.extension', 'false')
sc = SparkContext(conf = conf)
sqlContext = SQLContext(sc)
配置属性中的优先顺序是:
- 传递给的属性SparkConf。
- 参数传递给 spark-submit, spark-shell, or pyspark.。
- 属性设置 spark-defaults.conf.。
有关更多信息,请参阅Spark Configuration。
在spark-defaults.conf中配置Spark应用程序属性
在 spark-defaults.conf中指定属性。
您可以通过在行首添加 标记(#)来创建注释。您无法将注释添加到行的末尾或中间。
这个例子显示了一个spark-defaults.conf文件:
spark.master spark://mysparkmaster.acme.com:7077
spark.eventLog.enabled true
spark.eventLog.dir hdfs:///user/spark/eventlog
# Set spark executor memory
spark.executor.memory 2g
spark.logConf true
Cloudera建议在spark-defaults.conf中放置要用于每个应用程序的配置属性。请参阅应用程序属性了解更多信
在spark-defaults.conf中配置属性使用Cloudera Manager
最低要求的角色: 配置器(也由群集管理员 提供,完全管理员)
为所有Spark应用程序配置属性 <samp class="ph codeph" style="box-sizing: border-box; font-family: monospace, serif; font-size: 13px; white-space: normal; word-wrap: normal; overflow-x: auto;">火花defaults.conf</samp> 如下:
转到Spark服务。
单击配置选项卡。
选择范围 > 网关。
选择类别 > 高级。
找到spark-conf / spark-defaults.conf属性的Spark客户端高级配置代码段(安全阀)。
-
指定描述性应用性能。
如果多个角色组适用于此配置,请编辑相应角色组的值。请参阅使用Cloudera Manager修改配置属性。
点击保存更改以提交更改。
部署客户端配置。
在spark-defaults.conf中配置属性使用命令行
重要:
- 在不使用Cloudera Manager的系统上遵循这些命令行指示信息。
- 此信息特别适用于CDH 5.14 .X。有关其他版本的信息,请参阅Cloudera文档。
要使用命令行配置所有Spark应用程序的属性,请编辑文件SPARK_HOME/conf/spark-defaults.conf
配置Spark应用程序日志记录属性
配置Spark应用程序日志记录属性 log4j .properties 文件。
使用Cloudera Manager配置日志记录属性
最低要求的角色: 配置器(也由群集管理员 提供,完全管理员)
要仅配置日志记录阈值级别,请按照配置日志阈值中的过程进行操作。要配置任何其他日志记录属性,请执行以下操作:
转到Spark服务。
单击配置选项卡。
选择范围 > 网关。
选择类别 > 高级。
找到spark-conf / log4j.properties属性的Spark客户端高级配置代码段(安全阀)。
-
指定log4j属性。
如果多个角色组适用于此配置,请编辑相应角色组的值。请参阅使用Cloudera Manager修改配置属性。
点击保存更改以提交更改。
部署客户端配置。
使用命令行配置日志记录属性
重要:
- 在不使用Cloudera Manager的系统上遵循这些命令行指示信息。
- 此信息特别适用于CDH 5.14 .X。有关其他版本的信息,请参阅Cloudera文档。
要使用命令行为计算机上的所有用户指定日志记录属性,请编辑文件SPARK_HOME/conf/log4j.properties 。要仅为自己或特定应用程序设置,请将SPARK_HOME/conf/log4j.properties.template复制到工作目录中的log4j.properties或应用程序类路径中的任何目录中。