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

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

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

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

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

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

spark配置参数详解以下是整理的Spark中的一些配置参数,官方文档请参考SparkConfiguration。Spark提供三个位置用来配置系统:Spark属性:控制大部分的应用程序参数,可以用SparkConf对象或者Java系统属性设置环境变量:可以通过每个节点的conf/spark-env.sh脚本设置。例如IP地址、端口等信息日志配置:可以通过log4j.properties配置Spark属性Spark属性控制大部分的应用程序设置,并且为每个应用程序分别配置它。这些属性可以直接在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.jarSparkshell和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:7077spark.executor.memory512mspark.eventLog.enabledtruespark.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进程使用的内存数spark.executor.memory512m每个executor进程使用的内存数。和JVM内存串拥有相同的格式(如512m,2g)spark.extraListe