Spark版本:1.1.1

本文系从官方文档翻译而来,转载请尊重译者的工作,注明以下链接:

http://www.cnblogs.com/zhangningbo/p/4137969.html

Spark配置

Spark属性

动态加载Spark属性

查看Spark属性

可用属性

大部分用于控制内部设置的属性都有合理的默认值。一部分最通用的选项设置如下:

应用程序属性

属性名称 默认值 含义
spark.app.name  (none)  应用程序名称。该参数的值会出现在UI和日志记录中。
spark.master  (none)  要连接的集群管理器。详见支持的masterURL列表
spark.executor.memory  512m  每个executor进程要用的内存量。与JVM内存字符串的格式相同(如,512m,2g)。
spark.serializer  org.apache.spark.serializer.JavaSerializer  用于序列化对象(以序列化形式通过网络发送或者在内存中缓存的对象)的类,默认的Java序列化适用于任何可序列化的Java对象,但速度很慢。因此,在需要较快速度的场合,我们推荐使用org.apache.spark.serializer.KryoSerializer并配置Kryo序列化。该参数的值可以是org.apache.spark.serializer的任何子类。
spark.kryo.registrator  (none)  如果你使用Kryo序列化,那么,需要设置该类以便使用Kryo来注册你的自定义类。该参数应当设置成一个扩展KryoRegistrator的类。详见调优指南
spark.local.dir  /tmp  在Spark中“草稿”空间所用的路径,包括存储于磁盘上的map输出文件和RDD。该参数值应当指向一个快速的本地磁盘路径。也可以是多个以逗号分隔的位于不同磁盘的路径列表。注意:从Spark1.0以后,该参数会被集群管理器所设置的SPARK_LOCAL_DIRS(Standalone,Mesos模式下)或者LOCAL_DIRS(YARN模式下)环境变量覆盖。
spark.logconf  false  当SparkContext启动时,以INFO日志级别记录有效的SparkConf设置。

除了以上属性,下面的属性也可用 ,而且在某些情形下会很有用:

运行时环境

属性名称 默认值 含义
spark.executor.extraJavaOptions (none) 传递给executor的额外JVM选项字符串。例如,GC设置或其他日志设置。注意,使用该选项来设置spark属性或heap大小是不合法的。Spark属性应当使用SparkConf对象设置,或者在脚本spark-submit中使用spark-defaults.conf文件。Heap大小可以用spark.executor.memory来设置。
spark.executor.extraClassPath (none) 追加到executor classpath中的额外classpath条目。该参数主要是为了与老版本的spark后向兼容。用户通常不需要设置该选项。
spark.executor.extraLibraryPath (none) 设置一个启动executor JVM时使用的特殊库路径。
spark.files.userClassPathFirst false (实验特性)当把用户添加的jar包和Spark自有jar包中的类加载到executor时,是否优先处理前者,再处理后者。该特性可以用于减少Spark依赖和用户依赖之间的冲突。当前该特性是实验性的。
spark.python.worker.memory 512m 聚集过程中每个python worker进程所用的内存量,与Java内存字符串的格式相同(如512m,2g)。如果进程在聚集期间所用的内存超过了该值,那么,就会把数据写入磁盘。
spark.executorEnv.[EnvironmentVariableName] (none) 把EnvironmentVariableName指定的环境变量添加到executor进程中。用户可以指定多个值来设置多个环境变量。
spark.mesos.executor.home driver side SPARK_HOME 设置Spark在Mesos集群中的executor主机上所安装的路径。默认情况下,executor简单地使用driver上的Spark home路径(executor不可见),注意,如果Spark二进制包不是通过spark.executor.uri来指定的,那么该值就是确切的。
spark.mesos.executor.memoryOverhead executor memory * 0.07,最小值为384 该值是spark.executor.memory的附加值,以MB为单位,用于计算Mesos任务的内存总量。384代表开销为384MB。此外,硬编码的7%为最小开销比例。最终的开销是二者中最大的,即max(spark.mesos.executor.memoryOverhead,spark.executor.memory * 7%)

Shuffle行为

属性名称 默认值 含义
     
     
     
     
     
     
     
     

Spark UI

属性名称 默认值 含义
     
     
     
     
     
     

压缩与序列化

属性名称 默认值 含义
     
     
     
     
     
     
     
     
     
     
     

执行行为

属性名称 默认值 含义
     
     
     
     
     
     
     
     
     
     
     
     
     
     

网络

属性名称 默认值 含义
     
     
     
     
     
     
     
     
     
     
     
     
     
     

调度

属性名称 默认值 含义
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     

安全

属性名称 默认值 含义
     
     
     
     
     
     
     
     
     

Spark Streaming

属性名称 默认值 含义
     
     
     
     
     
     
     

集群管理器

每个集群管理器都有额外的配置选项。这些配置参见每种模式各自的页面:

YARN

Mesos

Standalone

环境变量

某些Spark属性可以通过环境变量来配置,这些变量可以从conf/spark-env.sh脚本(windows平台为conf/spark-env.cmd)中读取。在Standalone和Mesos模式下,该脚本文件可以给出主机相关信息,比如主机名,也可以作为运行本地Spark应用程序或者子任务脚本时的源文件。

注意,conf/spark-env.sh默认安装情况下是不存在的。但是,你可以通过复制conf/spark-env.sh.template来创建它并确保其为可执行的。

以下变量可以在spark-env.sh文件中设置:

环境变量 含义
JAVA_HOME Java安装的位置(如果没有在默认的环境变量PATH中指定,就采用该值)
 PYSPARK_PYTHON  PySpark所用的Python二进制可执行文件
 SPARK_LOCAL_IP  主机所绑定的IP地址
 SPARK_PUBLIC_DNS  Spark程序通告给其他主机的主机名

除了以上变量,还有一些创建Spark Standalone集群脚本的选项,比如每台主机所用的CPU核数和最大内存。

由于spark-env.sh是脚本,所以有些选项可以通过程序来设置——例如,你可以通过查询指定网卡的IP地址来确定SPARK_LOCAL_IP。

配置日志记录

Spark使用log4j来记录日志。你可以在路径conf中添加log4j.properties文件来配置该功能。还有一种启动方法就是在原地复制log4j.properties.template文件。

覆盖配置路径

要指定其他配置路径而不使用默认的“SPARK_HOME/conf” ,你可以设置SPARK_CONF_DIR环境变量。Spark将会使用该变量指定路径中的配置文件(spark-defaults.conf,spark-env.sh,log4j.properties等)。

【Spark学习】Apache Spark配置的更多相关文章

  1. spark学习及环境配置

    http://dblab.xmu.edu.cn/blog/spark/ 厦大数据库实验室博客 总结.分享.收获 实验室主页 首页 大数据 数据库 数据挖掘 其他 子雨大数据之Spark入门教程  林子 ...

  2. Spark学习之Spark Streaming(9)

    Spark学习之Spark Streaming(9) 1. Spark Streaming允许用户使用一套和批处理非常接近的API来编写流式计算应用,这就可以大量重用批处理应用的技术甚至代码. 2. ...

  3. Spark学习之Spark调优与调试(7)

    Spark学习之Spark调优与调试(7) 1. 对Spark进行调优与调试通常需要修改Spark应用运行时配置的选项. 当创建一个SparkContext时就会创建一个SparkConf实例. 2. ...

  4. Spark学习之Spark SQL(8)

    Spark学习之Spark SQL(8) 1. Spark用来操作结构化和半结构化数据的接口--Spark SQL. 2. Spark SQL的三大功能 2.1 Spark SQL可以从各种结构化数据 ...

  5. spark学习之IDEA配置spark并wordcount提交集群

    这篇文章包括以下内容 (1)IDEA中scala的安装 (2)hdfs简单的使用,没有写它的部署 (3) 使用scala编写简单的wordcount,输入文件和输出文件使用参数传递 (4)IDEA打包 ...

  6. 【Spark学习】Spark 1.1.0 with CDH5.2 安装部署

    [时间]2014年11月18日 [平台]Centos 6.5 [工具]scp [软件]jdk-7u67-linux-x64.rpm spark-worker-1.1.0+cdh5.2.0+56-1.c ...

  7. Spark学习之Spark SQL

    一.简介 Spark SQL 提供了以下三大功能. (1) Spark SQL 可以从各种结构化数据源(例如 JSON.Hive.Parquet 等)中读取数据. (2) Spark SQL 不仅支持 ...

  8. Spark学习之Spark Streaming

    一.简介 许多应用需要即时处理收到的数据,例如用来实时追踪页面访问统计的应用.训练机器学习模型的应用,还有自动检测异常的应用.Spark Streaming 是 Spark 为这些应用而设计的模型.它 ...

  9. Spark学习之Spark调优与调试(二)

    下面来看看更复杂的情况,比如,当调度器进行流水线执行(pipelining),或把多个 RDD 合并到一个步骤中时.当RDD 不需要混洗数据就可以从父节点计算出来时,调度器就会自动进行流水线执行.上一 ...

  10. Spark学习之Spark调优与调试(一)

    一.使用SparkConf配置Spark 对 Spark 进行性能调优,通常就是修改 Spark 应用的运行时配置选项.Spark 中最主要的配置机制是通过 SparkConf 类对 Spark 进行 ...

随机推荐

  1. python脚本实例001 - 通过列表内容判断输入输出信息

    要点总结: 输入输出方法,input().print()方法 list列表应用,list是一种有序的集合,可以随时添加和删除其中的元素. 条件语句if-else应用 #! /usr/bin/pytho ...

  2. taglist

    http://blog.csdn.net/duguteng/article/details/7412652 这两天看到网上有将vim 改造成功能强大的IDE的blog,突然心血来潮,亲身经历了一下. ...

  3. OpenGL图形管线和坐标变换[转]

    1. OpenGL 渲染管线 OpenGL渲染管线分为两大部分,模型观测变换(ModelView Transformation)和投影变换(Projection Transformation).做个比 ...

  4. distinct用法

    distinct可以列出不重复的记录,对于单个字段来说distinct使用比较简单,但是对于多个字段来说,distinct使用起来会使人发狂.而且貌似也没有见到微软对distinct使用多字段的任何说 ...

  5. hdu 4939 Stupid Tower Defense ( dp )

    题目链接 题意:给出一条长为n个单位长度的直线,每通过一个单位长度需要t秒. 有3种塔,红塔可以在当前格子每秒造成x点伤害,绿塔可以在之后的格子每秒造成y点伤害, 蓝塔可以使通过单位长度的时间增加z秒 ...

  6. BestCoder Round #2 1001 (简单处理)

    题目链接 题意:给N条信息,每个信息代表有x个人从开始的时间 到 结束的时间在餐厅就餐, 问最少需要多少座位才能满足需要. 分析:由于时间只有24*60 所以把每个时间点放到 数组a中,并标记开始的时 ...

  7. 1085: [SCOI2005]骑士精神

    A*搜索. A*搜索的基础百度百科(实在偷懒没看论文之类的),在这里不说了. A*搜索很关键的是h(n)估价函数的选取(表示现在到结束节点需要的距离) 设d(n)为实际到结束节点的距离.h(n)< ...

  8. BestCoder Round #35

    A 题意:给出n个黑球,m个白球,每次取1个球,取了n+m次以后,会生成一个随机的01串S, 如果第i次取出的是黑球,则s[i]=1,如果是白色的,那么s[i]=0, 问01串在S中出现的期望次数 大 ...

  9. GridView表头排序方法设置

    1.效果图 2.前台代码 说明:红色代码为核心代码 <asp:GridView ID="gvData" runat="server" AutoGenera ...

  10. Python interview preparing

    Collection & Recommended: 1. CN - 论坛中看到. - EN 英文原文真的真的很好好好T_T,看得让人感动T_T 总结个人感兴趣的问题(以下部分参照上面): 1. ...