spark运行方式及其常用参数

yarn cluster模式

例行任务一般会采用这种方式运行

指定固定的executor数

作业常用的参数都在其中指定了,后面的运行脚本会省略

spark-submit \
    --master yarn-cluster \  
    --deploy-mode cluster \                  #集群运行模式
    --name wordcount_${date} \               #作业名
    --queue production.group.yanghao \       #指定队列
    --conf spark.default.parallelism=1000 \  #并行度,shuffle后的默认partition数 
    --conf spark.network.timeout=1800s \
    --conf spark.yarn.executor.memoryOverhead=1024 \   #堆外内存
    --conf spark.scheduler.executorTaskBlacklistTime=30000 \
    --conf spark.core.connection.ack.wait.timeout=300s \
    --num-executors 200 \                   #executor数目 
    --executor-memory 4G \                  #executor中堆的内存
    --executor-cores 2 \                    #executor执行core的数目,设置大于1   
    --driver-memory 2G \                    #driver内存,不用过大   
    --class ${main_class} \                 #主类
    ${jar_path} \                           #jar包位置
    param_list \                            #mainClass接收的参数列表

动态调整executor数目

spark-submit \
    --master yarn-cluster \
    --deploy-mode cluster \
    --name wordcount_${date} \
    --queue production.group.yanghao \
    --conf spark.dynamicAllocation.enabled=true \     #开启动态分配
    --conf spark.shuffle.service.enabled=true \       #shuffle service,可以保证executor被删除时,shuffle file被保留
    --conf spark.dynamicAllocation.minExecutors=200 \ #最小的executor数目
    --conf spark.dynamicAllocation.maxExecutors=500 \ #最大的executor数目
    --class ${main_class} \
    ${jar_path} \
    param_list

yarn client模式

spark-shell \
    --master yarn-client \    
    --queue production.group.yanghao \      #指定队列
    --num-executors 200 \                   #executor数目 
    --executor-memory 4G \                  #executor中堆的内存
    --executor-cores 2 \                    #executor执行core的数目,设置大于1   
    --driver-memory 2G \                    #driver内存,不用过大   
    --jars ${jar_path}                      #jar包位置

yarn cluster模式 vs yarn client模式

yarn cluster模式:spark driver和application master在同一个节点上 
yarn client模式:spark driver和client在同一个节点上,支持shell 

posted @ 2019-05-29 15:51  夕阳下的无名草  阅读(1878)  评论(0编辑  收藏  举报