spark开发环境安装配置

版本scala2.11.12

https://downloads.lightbend.com/scala/2.11.12/scala-2.11.12.zip

所有版本

https://www.scala-lang.org/download/all.html

环境变量SCALA_HOME 和 path

验证 cmd -> scala -version

安装hadoop

bin目录下存放winutils.exe 下载目录https://github.com/4ttty/winutils/tree/master/hadoop-2.7.1

配置HADOOP_HOME

python也可以 选择性安装

https://www.python.org/ftp/python/3.8.6/python-3.8.6-amd64.exe

在path环境变量后追加python安装目录

cmd -> python 验证

下载spark

具体版本spark-2.4.6-bin-hadoop2.7.tgz

https://archive.apache.org/dist/spark/spark-2.4.6/

配置SPARK_HOME 和 path

spark安装目录下的bin目录下,验证 spark-shell

idea中配置scala环境
  • 安装scala插件
  • Global Libraries新增scala-sdk
  • main目录下新建scala目录,且设为sources
  • test目录下scala目录,设置为test Sources

脚本

JAR_PATH=/data1/XXXXX/jars/XXXXXToRedisTask_20221216.jar
DAY_GEN=/data1/XXXXXXX/day_gen.sh
export HADOOP_USER_NAME=XXXX
export SPARK_HOME=/usr/local/share/spark
echo $JAR_PATH
echo $DAY_GEN
source ${DAY_GEN}
echo ${v_day}

v_job_stat=0

${SPARK_HOME}/bin/spark-submit --class com.XXXXXToRedisSaddTask \
--queue xxxxxxxxx \
--master yarn \
--deploy-mode cluster \
--name XXXXXXXToRedisSaddTask \
--conf spark.serializer=org.apache.spark.serializer.KryoSerializer \
--conf spark.kryoserializer.buffer.mb=256 \
--conf spark.kryoserializer.buffer.max=1024 \
--conf spark.sql.broadcastTimeout=6000 \
--conf spark.storage.memoryFraction=0.6 \
--conf spark.shuffle.memoryFraction=0.8 \
--conf spark.default.parallelism=2000 \
--conf spark.sql.shuffle.partitions=2000 \
--conf spark.driver.maxResultSize=88G \
--conf spark.executor.memoryOverhead=4G \
--conf spark.executor.extraJavaOptions="-XX:MaxDirectMemorySize=4096m" \
--conf spark.shuffle.registration.timeout=120000 \
--conf spark.shuffle.registration.maxAttempst=10 \
--conf spark.reducer.maxBlocksInFlightPerAddress=1000 \
--conf spark.reducer.maxReqsInFlight=1000 \
--conf spark.maxRemoteBlockSizeFetchToMem=512m \
--conf spark.shuffle.io.maxRetries=15 \
--conf spark.shuffle.io.retryWait=6s \
--conf spark.yarn.maxAppAttempts=1 \
--conf spark.shuffle.io.connectionTimeout=120000 \
--conf spark.shuffle.service.index.cache.size=6144m \
--conf spark.yarn.executor.memoryOverhead=6G \
--conf spark.dynamicAllocation.enabled=false \
--num-executors 50 \
--driver-memory 20G \
--executor-memory 40G  \
--executor-cores 20 \
${JAR_PATH} --dayno=${v_day}

v_job_stat=`expr ${v_job_stat} + $?`
#########################################################################
# 返回作业执行状态码
#########################################################################
echo "v_job_stat = ${v_job_stat}"
exit ${v_job_stat}

  

spark运行参数

参数

说明

class

作业的主类。

master

E-MapReduce使用Yarn模式。

等同于–-master yarn —deploy-mode client, 此时不需要指定deploy-mode。

等同于–-master yarn —deploy-mode cluster, 此时不需要指定deploy-mode。

deploy-mode

client模式表示作业的AM会放在Master节点上运行。如果设置此参数,需要指定Master为yarn。

cluster模式表示AM会随机的在Worker节点中的任意一台上启动运行。如果设置此参数,需要指定Master为yarn。

driver-memory

Driver使用的内存,不可超过单机的总内存。

num-executors

创建Executor的个数。

executor-memory

各个Executor使用的最大内存,不可以超过单机的最大可使用内存。

executor-cores

各个Executor使用的并发线程数目,即每个Executor最大可并发执行的Task数目。

posted @ 2023-01-01 16:59  quyf  阅读(55)  评论(0编辑  收藏  举报