相关资料:Spark属性配置  http://www.cnblogs.com/chengxin1982/p/4023111.html

本文出处:转载自过往记忆(http://www.iteblog.com/)
本文链接地址: 《Spark三种属性配置方式详细说明》(http://www.iteblog.com/archives/1140)

随着Spark项目的逐渐成熟, 越来越多的可配置参数被添加到Spark中来。在Spark中提供了三个地方用于配置:
  1、Spark properties:这个可以控制应用程序的绝大部分属性。并且可以通过 SparkConf对象或者Java 系统属性进行设置;
  2、环境变量(Environment variables):这个可以分别对每台机器进行相应的设置,比如IP。这个可以在每台机器的$SPARK_HOME/ conf/spark-env.sh脚本中进行设置;
  3、日志:所有的日志相关的属性可以在log4j.properties文件中进行设置。
  下面对这三种属性设定进行详细的说明。

一、Spark properties

  Spark
properties可以控制应用程序的绝大部分属性,并且可以分别在每个应用上进行设置。这些属性可以直接在SparkConf对象上设定,该对象可以
传递给SparkContext。SparkConf对象允许你去设定一些通用的属性(比如master
URL、应用的名称等),这些属性可以传递给set()方法的任意key-value对。如下:

val conf = new SparkConf()
.setMaster("local")
.setAppName("CountingSheep")
.set("spark.executor.memory", "1g")
val sc = new SparkContext(conf)

动态加载Spark属性

  在一些场景中,你可能想避免在代码中将SparkConf对象的属性进行设死;比如,你可能想在不同的master上面或者不同内存容量运行你的应用程序。这就需要你运行程序的时候进行设置,Spark允许你创建一个空的conf对象,如下:

val sc = new SparkContext(new SparkConf()) 

然后你可以在运行的时候通过命令行进行一些属性的配置:

./bin/spark-submit --name "My app"
--master local[4]
--conf spark.shuffle.spill=false
--conf "spark.executor.extraJavaOptions=-XX:+PrintGCDetails

Spark shell和 spark-submit工具支持两种方式来动态加载配置属性。第一种是命令行方式,比如--master;spark-submit工具可以通过 --conf标记接收任何的Spark属性。运行 ./bin/spark-submit --help将会显示全部的选项。
./bin/spark-submit工具也会从 conf/spark-defaults.conf配置文件中读取配置选项。
在conf/spark-defaults.conf配置文件中,每行是key-value对,中间可以是用空格进行分割,也可以直接用等号进行分割。如
下:

spark.master            spark://iteblog.com:7077
spark.executor.memory 512m
spark.eventLog.enabled true
spark.serializer org.apache.spark.serializer.KryoSerializer

  每个值将作为一个flags传递到应用中并个SparkConf对象中相应的属性进行合并。通过SparkConf 对象配置的属性优先级最高;其次是对spark-submit 或 spark-shell通过flags配置;最后是spark-defaults.conf文件中的配置。

哪里可以查看配置好的Spark属性

  在应用程序对应的WEB UI(http://<driver>:4040)上的Environment标签下面将会显示出该应用程序的所有Spark配置选项。在你 想确定你的配置是否正确的情况下是非常有用的。需要注意的是,只有显示通过spark-defaults.conf 或SparkConf 进行配置的属性才会在那个页面显示。其他所有没有显示的属性,你可以认为这些属性的值为默认的。

二、环境变量

  有很大一部分的Spark设定可以通过环境变量来进行设定。这些环境变量设定在conf/spark-env.sh 脚本文件中(如果你是windows系统,那么这个文件名称是conf/spark-env.cmd)。在 Standalone 和 Mesos模式下,这个文件可以设定一些和机器相关的信息(比如hostname)。
  需要注意,在刚刚安装的Spark中conf/spark-env.sh文件是不存在的。但是你可以通过复制conf/spark-env.sh.template文件来创建,你的确保这个复制之后的文件是可运行的。
  下面的属性是可以在conf/spark-env.sh文件中配置

JAVA_HOME Java的安装目录
PYSPARK_PYTHON Python binary executable to use for PySpark.
SPARK_LOCAL_IP IP address of the machine to bind to.
SPARK_PUBLIC_DNS Hostname your Spark program will advertise to other machines.

对于 standalone 模式的集群除了上面的属性可以配置外,还有很多的属性可以配置,具体我就不说了,自己看文档去。

三、日志配置

  Spark用log4j来记录日志。你可以通过配置log4j.properties来设定不同日志的级别、存放位置等。这个文件默认也是不存在的,你可以通过复制log4j.properties.template文件来得到。
  在后期文章中,我将逐个的介绍Spark中各个参数的含义。欢迎大家关注。
  关于应用程序相关的属性设置解释:《Spark配置属性详解(1)》

Spark学习笔记-三种属性配置详细说明【转】的更多相关文章

  1. [ 原创 ]学习笔记-三种向ListView中填充简单文本的方法

    Android 中ListView是很重要的一块内容 掌握ListView的基本用法 对学习安卓起着举足轻重的作用 今天就介绍一下三种向ListView 填充简单文本的方法 填充其他数据类型的用法之后 ...

  2. Spring boot 官网学习笔记 - Spring Boot 属性配置和使用(转)-application.properties

    Spring Boot uses a very particular PropertySource order that is designed to allow sensible overridin ...

  3. Spark学习笔记2(spark所需环境配置

    Spark学习笔记2 配置spark所需环境 1.首先先把本地的maven的压缩包解压到本地文件夹中,安装好本地的maven客户端程序,版本没有什么要求 不需要最新版的maven客户端. 解压完成之后 ...

  4. ZooKeeper学习笔记三:使用ZooKeeper实现一个简单的配置中心

    作者:Grey 原文地址:ZooKeeper学习笔记三:使用ZooKeeper实现一个简单的配置中心 前置知识 完成ZooKeeper集群搭建以及熟悉ZooKeeperAPI基本使用 需求 很多程序往 ...

  5. VSTO学习笔记(三) 开发Office 2010 64位COM加载项

    原文:VSTO学习笔记(三) 开发Office 2010 64位COM加载项 一.加载项简介 Office提供了多种用于扩展Office应用程序功能的模式,常见的有: 1.Office 自动化程序(A ...

  6. angular学习笔记(三十)-指令(2)-restrice,replace,template

    本篇主要讲解指令中的 restrict属性, replace属性, template属性 这三个属性 一. restrict: 字符串.定义指令在视图中的使用方式,一共有四种使用方式: 1. 元素: ...

  7. Linux之VMWare下Centos7的三种网络配置过程

    Linux之VMWare下Centos7的三种网络配置过程 环境: 虚拟软件:VMWare 14.0 客户机:windows 10 虚拟机:centos 7 VMware三种网络连接方式 Bridge ...

  8. Linux的VMWare下Centos7的三种网络配置过程(网络二)

    Linux之VMWare下Centos7的三种网络配置过程 环境:虚拟软件:VMWare 14.0客户机:windows 10虚拟机:centos 7 VMware三种网络连接方式 Bridge(桥接 ...

  9. Oracle学习笔记三 SQL命令

    SQL简介 SQL 支持下列类别的命令: 1.数据定义语言(DDL) 2.数据操纵语言(DML) 3.事务控制语言(TCL) 4.数据控制语言(DCL)  

随机推荐

  1. MySQL更新死锁问题

    作为一个社交类的 App ,我们有很多操作都会同时发生,为了确保数据的一致性,会采用数据库的事物. 比如现在我们有一个点赞操作,点赞成功后,需要更改文章的热度.以下是 SQL 语句: INSERT I ...

  2. COJ 0802 非传统题(二)

    (颓了这么多天是时候干点正事了QAQ) 非传统题(二) 难度级别:B: 运行时间限制:1000ms: 运行空间限制:51200KB: 代码长度限制:2000000B 试题描述 还是很久很久以前,chx ...

  3. 设计模式(十一):FACADE外观模式 -- 结构型模式

    1. 概述 外观模式,我们通过外观的包装,使应用程序只能看到外观对象,而不会看到具体的细节对象,这样无疑会降低应用程序的复杂度,并且提高了程序的可维护性.例子1:一个电源总开关可以控制四盏灯.一个风扇 ...

  4. MFC之CToolTipCtrl按钮提示(消息捕获和消息传递)

    记得以前写对话框时,按钮直接有一个tips属性,可以添加默认值,不记得是C#还是啥了,今天忽然想给几个按钮添加提示信息,就捣鼓了一下. 头文件中创建CToolTipCtrl变量,然后在初始化时激活使用 ...

  5. 2015.9.11模拟赛 codevs4162 bzoj1774【无双大王】

    题目描述 Description 无双大王hzwer扫清六合,席卷八荒,万姓倾心,四方仰德. hzwer拥有一片领土,其中有n个城市和m条双向道路.他规定每个人在领土上行走都要交过路费,同时进城也要交 ...

  6. 浅谈C#抽象类和C#接口

    原文地址:http://www.cnblogs.com/zhxhdean/archive/2011/04/21/2023353.html 一.C#抽象类: C#抽象类是特殊的类,只是不能被实例化:除此 ...

  7. 如何在Windows服务程序中读写HKEY_CURRENT_USER注册表

    在服务程序中想要对注册表HKEY_CURRENT_USER下的内容进行读写,不会返回失败,但是始终无效.原因是: 1.服务运行在系统权限之下,而不是任何一个用户 2.HKEY_CURRENT_USER ...

  8. DPDK2.1 linux上开发入门手册

    1引言 本文档主要包含INTEL DPDK安装和配置说明.目的是让用户快速的开发和运行程序.文档描述了如何在不深入细节的情况下在linux应用开发环境上编译和运行一个DPDK应用程序. 1.1文档总览 ...

  9. Apache Ant在Windows下配置环境变量

    Windows下ANT用到的环境变量主要有2个: ANT_HOME 和 PATH. 1..设置ANT_HOME指向ant的安装目录,如下: ANT_HOME = D:\soft\apache\apac ...

  10. Javascript:阻止浏览器默认右键事件,并显示定制内容

    在逛一些知名图片社区的时候,遇到自己心怡的图片,想要右键另存的时候,默认的浏览器菜单不见了,却出现了如:[©kevin版权所有]之类的信息: 今天在看Javascript事件默认行为相关的知识,所以, ...