zoukankan      html  css  js  c++  java
  • Spark 参数配置的几种方法

    1.Spark 属性
    Spark应用程序的运行是通过外部参数来控制的,参数的设置正确与否,好与坏会直接影响应用程序的性能,也就影响我们整个集群的性能。参数控制有以下方式:
    (1)直接设置在SparkConf,通过参数的形式传递给SparkContext,达到控制目的。(通过set()方法传入key-value对)比如:

    val conf = new SparkConf()
          .setMaster(”local[2]“) #注意1
          .setAppName(”test“)
          .set("spark.cores.max", "10")  ######set()方法传入属性参数
    val sc = new SparkContext(conf)

      #注意1 本地开启2个线程来工作,注意了,本地工作方式除了集合生成RDD、读取本地文件和hdfs文件能开启一个线程就可以工作外,其他情况都开启至少两条线程才能正常工作。这是由于除以上情况,Spark会开启一个reciver来接受数据,若只有一条线程,reciver就占用唯一线程的资源,而数据处理等操作将没有资源可执行。

    (2)动态加载Spark属性。为了应用程序名字和集群方式等属性不硬编码,灵活应用。可以这样处理:val sc = new SparkContext(new SparkConf())。通过 spark-submit 时添加必要的参数。如:

    ./bin/spark-submit --name "My app" --master local[4] --conf spark.eventLog.enabled=false
              --conf "spark.executor.extraJavaOptions=-XX:+PrintGCDetails -XX:+PrintGCTimeStamps" myApp.jar

      方法是:通过 --conf 标志,并在后面以key-value对的形式传入属性参数。

    (3)在conf/spark-defaults.conf 定义必要的属性参数,Spark在启动时,SparkContext会自动加载此配置文件的属性。定义方式是:

     spark.master            spark://master:7077
     spark.executor.memory   4g
     spark.eventLog.enabled  true
     spark.serializer        org.apache.spark.serializer.KryoSerializer    #这里选用此序列化方法,是因为Java自带序列化方法性能一般,在此优化优化。

    一切外部传给Spark应用程序的属性参数,最终与SparkConf里定义的值结合。Spark加载属性参数的优先顺序是:
        (1)直接在SparkConf设置的属性参数
        (2)通过 spark-submit 或 spark-shell 方式传递的属性参数
        (3)最后加载 spark-defaults.conf 配置文件的属性参数
    当然了,既然有优先顺序之分,也就是说优先级高的会覆盖优先级低的参数。

    2.查看应用程序的属性参数
        http://<driver>:4040 
    此UI界面将会列出了Spark的属性,方便我们查看应用程序的属性参数,在性能调优时结合master UI非常有用。

  • 相关阅读:
    Class类与Java反射《java从入门到精通》第十六章
    maven配置,Java环境变量配置,电脑系统重装之后需要环境配置(大概每年都要一次重装系统)
    Docker部分--尚硅谷2020微服务分布式电商项目《谷粒商城》(没给学习文档,在这做笔记)
    centOS7下载安装(阿里云镜像下载,速度10M/s),(好用免费的工具VirtualBox,FinalShell比xshell更舒服)
    从程序员到项目经理:为什么要当项目经理
    状态图(Statechart Diagram)
    ServiceLoader实现原理
    Java8 lambda表达式10个示例
    Java8函数之旅(四) --四大函数接口
    Java8特性详解 lambda表达式 Stream
  • 原文地址:https://www.cnblogs.com/itboys/p/9189135.html
Copyright © 2011-2022 走看看