#!/bin/bash
#队列名 根据yarn的队列提交
realtime_queue=root
#提交的任务名
my_job_name="OrderQZ"
spark-shell --master yarn --deploy-mode client \
--queue $realtime_queue \
#总的executors数 根据数据量与自己的集群资源来分配
--num-executors 35 \
#每个executor的核数
--executor-cores 5 \
#每个executor的内存
--executor-memory 19G \
#diver 端jvm日志配置
--conf spark.driver.extraJavaOptions=-Dlog4j.configuration=log4j-yarn.properties \
--conf spark.executor.extraJavaOptions=-Dlog4j.configuration=log4j-yarn.properties \
#序列化
--conf spark.serializer=org.apache.spark.serializer.KryoSerializer \
#数据本地化;一般会默认3s,重试5次的去分配,一旦超时失败,将会选择一个比上一个本地级别差的级别再一次分配,如果发生了数据传输,那么task首先通过blockmanager获取数据,如果本地没有数据,则通过getRemote方法从数据所在节点的blockmanager获取数据并返回至task所在节点
--conf spark.locality.wait=5 \
#失败重试次数
--conf spark.task.maxFailures=8 \
# 是否开启在webui杀死进
spark提交任务的基础配置解释
最新推荐文章于 2024-11-27 14:06:27 发布