版本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数目。 |