zoukankan      html  css  js  c++  java
  • Spark参数配置说明

    1  修改$SPARK_HOME/conf目录下的spark-defaults.conf文件

    添加以下配置项

    spark.sql.hive.convertMetastoreParquet       false

    hive.exec.compress.output     false

    如果spark.sql.hive.convertMetastoreParquet不设置为false,前台清单预览看到的内容为乱码。

    由于parquet格式的文件内置了压缩,故输出结果不需要进行压缩,如果设置为压缩,清单下载功能异常。

    2 修改$SPARK_HOME/conf目录下spark-env.sh文件,设置以下参数:

    SPARK_EXECUTOR_INSTANCES=11

    SPARK_EXECUTOR_CORES=2

    SPARK_EXECUTOR_MEMORY=1G

    SPARK_DRIVER_MEMORY=3G

    根据需要配置,如果设置刚好满足所有内存,则没有多余的内存供其他task任务的执行

    2.1 参数SPARK_EXECUTOR_INSTANCES

    该参数决定了yarn集群中,最多能够同时启动的EXECUTOR的实例个数。Yarn中实际能够启动的最大Executors的数量会小于等于该值。如果不能确定最大能够启动的Executors数量,建议将该值先设置的足够大。(就是设置尽量大)

    2.2 SPARK_EXECUTOR_CORES  该参数为设置每个EXECUTOR能够使用的CPU core的数量。

    Yarn集群能够最多并行的Task数据为SPARK_EXECUTOR_INSTANCES乘        以SPARK_EXECUTOR_CORES一般设置为2

     也就是说如果spark_executor_instances=11 则最多并行的Task数为22

    2.3 SPARK_EXECUTOR_MEMORY

    该参数设置的是每个EXECUTOR分配的内存的数量。需要注意的是,该内存数量是SPARK_EXECUTOR_CORES中设置的内核数共用的内存数量。

    例如上面示例中,就是2核cpu公用1G内存。

    2.4 SPARK_DRIVER_MEMORY

    该参数设置的是DRIVER分配的内存的大小。也就是执行start-thriftserver.sh机器上分配给thriftserver的内存大小。

     

    3 yarn.nodemanager.resource.memory-mb

    $HADOOP_HOME/etc/hadoop目录下的yarn-site.xml文件中,参数yarn.nodemanager.resource.memory-mb配置了每台机器yarn能够使用的物理内存大小,单位是MB。

    如果发现集群内内存使用量明显比屋里内存小,可以修改该参数

    4 spark.yarn.executor.memoryOverhead

    该参数指定了每个executor在分配的内存之外,能够额外获得的内存的大小,默认是7%

  • 相关阅读:
    C# 如何保证对象线程内唯一:数据槽(CallContext)【转载】
    关于面试!(简历篇)
    以Windows服务方式运行ASP.NET Core程序【转载】
    .Net Core 项目在Windows服务中托管【转载】
    【转载】Ocelot网关的路由热更新
    Kafka的配置文件详细描述
    C#枚举中的位运算权限分配浅谈
    CSS 三角形
    Entity Framework 7 动态 DbContext 模型缓存 ModelCaching
    ASP.NET5 MVC6 利用Middleware 创建可访问HttpContext 的业务类工厂。(代替HttpContext.Current)
  • 原文地址:https://www.cnblogs.com/yangsy0915/p/4866897.html
Copyright © 2011-2022 走看看