预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共21页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

Spark配置参数说明 Spark提供三个位置用来配置系统: Spark属性:控制大部分的应用程序参数,可以用SparkConf对象或者Java系统属性设置 环境变量:可以通过每个节点的conf/spark-env.sh脚本设置,例如IP地址、端口等信息 日志配置:可以通过log4j.properties配置 Spark属性 Spark属性控制大部分的应用程序设置,并且为每个应用程序分别配置它。这些属性可以直接在HYPERLINK"http://spark.apache.org/docs/latest/api/scala/index.html"\l"org.apache.spark.SparkConf"SparkConf上配置,然后传递给SparkContext SparkConf允许你配置一些通用的属性(如masterURL、应用程序名称等等)以及通过set()方法设置的任意键值对。例如,我们可以用如下方式创建一个拥有两个线程的应用程序。 valconf=newSparkConf() .setMaster("local[2]") .setAppName("CountingSheep") .set("spark.executor.memory","1g")valsc=newSparkContext(conf) 动态加载Spark属性 在一些情况下,你可能想在SparkConf中避免硬编码确定的配置。例如,你想用不同的master或者不同的内存数运行相同的应用程序。Spark允许你简单地创建一个空conf。 valsc=newSparkContext(newSparkConf()) 然后你在运行时设置变量: ./bin/spark-submit--name"Myapp"--masterlocal[4]--confspark.shuffle.spill=false --conf"spark.executor.extraJavaOptions=-XX:+PrintGCDetails-XX:+PrintGCTimeStamps"myApp.jar Sparkshell和spark-submit工具支持两种方式动态加载配置。 第一种方式是命令行选项,例如--master,如上面shell显示的那样。spark-submit可以接受任何Spark属性,用--conf参数表示。但是那些参与Spark应用程序启动的属性要用特定的参数表示。 运行bin/spark-submit--help将会显示选项的整个列表。 bin/spark-submit也会从conf/spark-defaults.conf中读取配置选项,这个配置文件中,每一行都包含一对以空格或者等号分开的键和值。例如: spark.masterspark://5.6.7.8:7077 spark.executor.memory512m spark.eventLog.enabledtrue spark.serializerorg.apache.spark.serializer.KryoSerializer 任何标签指定的值或者在配置文件中的值将会传递给应用程序,并且通过SparkConf合并这些值。 在SparkConf上设置的属性具有最高的优先级,其次是传递给spark-submit或者spark-shell的属性值,最后是spark-defaults.conf文件中的属性值。 优先级顺序: SparkConf>CLI>spark-defaults.conf 查看Spark属性 在http://<driver>:4040上的应用程序WebUI在Environment标签中列出了所有的Spark属性。这对你确保设置的属性的正确性是很有用的。 注意:只有通过spark-defaults.conf,SparkConf以及命令行直接指定的值才会显示。对于其它的配置属性,你可以认为程序用到了默认的值。 可用的属性 控制内部设置的大部分属性都有合理的默认值,一些最通用的选项设置如下: 应用程序属性 属性名称默认值含义spark.app.name(none)你的应用程序的名字。这将在UI和日志数据中出现spark.driver.cores1driver程序运行需要的cpu内核数spark.driver.maxResultSize1g每个Sparkaction(如collect)所有分区的序列化结果的总大小限制。设置的值应该不小于1m,0代表没有限制。如果总大小超过这个限制,程序将会终止。大的限制值可能导致driver出现内存溢出错误(依赖于spark.driver.memory和JVM中对象的内存消耗)。spark.driver.memory512mdriver进程使用的内存数