spark standalone模式执行作业

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,内容安全 1000次 1年
对象存储 OSS,恶意文件检测 1000次 1年
简介: spark standalone

#下载hive mysql,spark,TPC测试工具

os=`uname -m`

if [[ $os = 'x86_64' ]]; then  

yum install -y java-1.8.0-openjdk-devel.x86_64

wget -P /opt http://fastmr.oss-cn-shenzhen.aliyuncs.com/bigdata/x86/TPC.tar.gz

wget -P /opt http://fastmr.oss-cn-shenzhen.aliyuncs.com/bigdata/x86/apache-hive-2.3.7-bin.tar.gz

 wget -P /opt http://fastmr.oss-cn-shenzhen.aliyuncs.com/bigdata/x86/mysql-connector-java-8.0.26.jar

wget -P /opt http://fastmr.oss-cn-shenzhen.aliyuncs.com/bigdata/x86/spark-3.2.1-bin-hadoop3.2.tgz

wget -P /root http://fastmr.oss-cn-shenzhen.aliyuncs.com/bigdata/x86/tpcds-kit.tar.gz

cd /opt && tar -xf TPC.tar.gz

cd /opt &&  tar -xf apache-hive-2.3.7-bin.tar.gz

 cd /opt &&  tar -xf spark-3.2.1-bin-hadoop3.2.tgz

cd /root &&  tar -xf tpcds-kit.tar.gz

 rm -rf /opt/apache-hive-2.3.7-bin/conf/hive-site.xml

cp /root/trans/config/hive/hive-site.xml /opt/apache-hive-2.3.7-bin/conf/

cp /root/trans/config/hive/hive-site.xml /opt/spark-3.2.1-bin-hadoop3.2/conf

echo -e "export SPARK_HOME=/opt/spark-3.2.1-bin-hadoop3.2 \n" >>/etc/profile.d/env.sh

echo -e "export HIVE_HOME=/opt/apache-hive-2.3.7-bin \n" >>/etc/profile.d/env.sh

else  

yum install -y java-1.8.0-openjdk-devel.aarch64

 wget -P /opt http://fastmr.oss-cn-shenzhen.aliyuncs.com/bigdata/arm/TPC.tar.gz

wget -P /opt http://fastmr.oss-cn-shenzhen.aliyuncs.com/bigdata/arm/apache-hive-3.1.2-bin.tar.gz

 wget -P /opt http://fastmr.oss-cn-shenzhen.aliyuncs.com/bigdata/arm/spark-3.2.1-bin-hadoop3.2.tgz

wget -P /root http://fastmr.oss-cn-shenzhen.aliyuncs.com/bigdata/arm/tpcds-kit.tar.gz  

cd /opt &&  tar -xf TPC.tar.gz

cd /opt &&  tar -xf apache-hive-3.1.2-bin.tar.gz

 cd /opt &&  tar -xf spark-3.2.1-bin-hadoop3.2.tgz

cd /root &&  tar -xf tpcds-kit.tar.gz

 rm -rf /opt/apache-hive-3.1.2-bin/conf/hive-site.xml

cp /root/trans/config/hive/hive-site.xml /opt/apache-hive-3.1.2-bin/conf/

cp /root/trans/config/hive/hive-site.xml /opt/spark-3.1.2-bin-hadoop3.2/conf

echo -e "export SPARK_HOME=/opt/spark-3.1.2-bin-hadoop3.2 \n" >>/etc/profile.d/env.sh

   echo -e "export HIVE_HOME=/opt/apache-hive-3.1.2-bin \n" >>/etc/profile.d/env.sh

fi

echo -e "export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk \n" >>/etc/profile.d/env.sh

echo -e "export PATH=\$PATH:\$JAVA_HOME/bin:\$SPARK_HOME/bin:\$HIVE_HOME/bin \n"  >>/etc/profile.d/env.sh

source /etc/profile.d/env.sh

#修改hive-site.xml

#hive.execution.engine 改为spark

cd /opt/apache-hive-3.1.2-bin/conf/ && grep -A1 hive.execution.engine hive-site.xml|sed  -i 's/mr/spark/g'

#hive.metastore.warehouse.dir 修改为file:///

cd /opt/apache-hive-3.1.2-bin/conf/ && grep -A1 hive.metastore.warehouse.dir hive-site.xml|sed  -i 's/\/user\/hive\/warehouse/file:\/\/\/tmp\/hive\/warehouse/g'

 

 

#修改/opt/spark-3.2.1-bin-hadoop3.2/conf/spark-defalut.conf文件

#driver

spark.driver.cores 4

spark.driver.memory 13g

spark.driver.maxResultSize              10g

#executor

spark.executor.instances 24

spark.executor.memory 13g

spark.executor.cores 4  

spark.executor.memoryOverhead 1g

#shuffle

spark.task.maxFailures                  4

spark.default.parallelism 288

spark.sql.files.minPartitionNum 640

spark.sql.shuffle.partitions 192

spark.shuffle.compress                  true

spark.shuffle.spill.compress    true

#sql

spark.sql.broadcastTimeout                              3600

spark.sql.files.maxPartitionBytes               256MB

spark.sql.parquet.compression.codec     snappy

spark.sql.rankLimit.enabled                     true

spark.sql.adaptive.enabled true

spark.sql.autoBroadcastJoinThreshold 128MB

spark.sql.adaptive.autoBroadcastJoinThreshold 128MB

spark.sql.adaptive.advisoryPartitionSizeInBytes 32MB

spark.sql.adaptive.coalescePartitions.minPartitionSize 4MB

spark.sql.adaptive.coalescePartitions.minPartitionNum 1200

spark.sql.adaptive.coalescePartitions.initialPartitionNum 2400

spark.sql.adaptive.coalescePartitions.enabled   true

spark.sql.adaptive.localShuffleReader.enabled   true

spark.sql.adaptive.skewJoin.enabled     true

spark.sql.adaptive.skewJoin.skewedPartitionFactor 5

spark.sql.adaptive.skewJoin.skewedPartitionThresholdInBytes 128m

spark.sql.optimizer.runtimeFilter.semiJoinReduction.enabled true

spark.sql.optimizer.runtime.bloomFilter.enabled true

spark.sql.optimizer.runtime.bloomFilter.creationSideThreshold 50MB

spark.sql.optimizer.runtimeFilter.number.threshold 10

#DF

spark.sql.optimizer.dynamicFilterPruning.enabled true

spark.sql.optimizer.dynamicPartitionPruning.enabled true

spark.sql.optimizer.dynamicDataPruning.enabled true

spark.sql.optimizer.dynamicPartitionPruning.useStats true

spark.sql.optimizer.dynamicPartitionPruning.fallbackFilterRatio 0.5

spark.sql.optimizer.dynamicPartitionPruning.reuseBroadcastOnly true

spark.sql.optimizer.dynamicDataPruning.pruningSideThreshold 10GB

#cbo

spark.sql.cbo.enabled true

spark.sql.cbo.joinReorder.enabled true

spark.sql.cbo.planStats.enabled  true

spark.sql.cbo.starSchemaDetection true

spark.sql.cbo.joinReorder.card.weight  0.6

spark.sql.cbo.joinReorder.ga.enabled true

#other

spark.io.compression.codec           snappy

spark.task.maxFailures 4

spark.kryoserializer.buffer 640k

spark.memory.storageFraction 0.5

spark.shuffle.file.buffer 64k

spark.kryoserializer.buffer.max 2000m

spark.serializer org.apache.spark.serializer.KryoSerializer

spark.memory.fraction 0.6

spark.network.timeout 3600

spark.locality.wait=0s

spark.hadoop.mapreduce.fileoutputcommitter.algorithm.version 2

#log

spark.eventLog.enabled true

spark.eventLog.dir hdfs://master1:9000/sparklogs

#OSS

spark.hadoop.fs.oss.endpoint oss-cn-beijing-internal.aliyuncs.com

spark.hadoop.fs.oss.accessKeyId <your accessKeyId>

spark.hadoop.fs.oss.accessKeySecret <your accessKeySecret>

#warehouse

spark.sql.warehouse.dir file:///tmp/spark/warehouse

#拷贝spark访问oss需要的jar包,所有节点都需要执行节点都需要执行

cp /opt/hadoop-3.3.1/share/hadoop/tools/lib/aliyun-sdk-oss-3.4.1.jar  /opt/spark-3.2.1-bin-hadoop3.2/jars/

cp /opt/hadoop-3.3.1/share/hadoop/tools/lib/hadoop-aliyun-3.3.1.jar  /opt/spark-3.2.1-bin-hadoop3.2/jars/

cp /opt/hadoop-3.3.1/share/hadoop/tools/lib/jdom-1.1.jar  /opt/spark-3.2.1-bin-hadoop3.2/jars/

#主节点拷贝hadoop core-site.xml 到spark conf目录下

cp /opt/hadoop/etc/hadoop/core-site.xml  /opt/spark-3.2.1-bin-hadoop3.2/conf/

#启动spark集群

/opt/spark-3.2.1-bin-hadoop3.2/sbin/start-master.sh

/opt/spark-3.2.1-bin-hadoop3.2/sbin/start-slaves.sh

#master节点执行TPC-DS 程序

$SPARK_HOME/bin/spark-submit \

   --class com.databricks.spark.sql.perf.tpcds.TPCDS_Bench_DataGen \

   --master spark://bigdata-forshell0:7077 \

   spark-sql-perf_2.12-0.5.1-SNAPSHOT.jar \

   oss://fastmr-tianchi-beijing/fk/input/ tpcds_1t 1000 parquet

$SPARK_HOME/bin/spark-submit \

--class com.databricks.spark.sql.perf.tpcds.TPCDS_Bench_RunAllQuery \

--master spark://bigdata-forshell0:7077 \

spark-sql-perf_2.12-0.5.1-SNAPSHOT.jar \

all oss://fastmr-tianchi-beijing/fk/input/ tpcds_1t oss://fastmr-tianchi-beijing/fk/output/

相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
相关文章
|
2月前
|
分布式计算 Kubernetes Hadoop
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
195 6
|
2月前
|
分布式计算 资源调度 Hadoop
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
83 2
|
4月前
|
分布式计算 资源调度 大数据
【决战大数据之巅】:Spark Standalone VS YARN —— 揭秘两大部署模式的恩怨情仇与终极对决!
【8月更文挑战第7天】随着大数据需求的增长,Apache Spark 成为关键框架。本文对比了常见的 Spark Standalone 与 YARN 部署模式。Standalone 作为自带的轻量级集群管理服务,易于设置,适用于小规模或独立部署;而 YARN 作为 Hadoop 的资源管理系统,支持资源的统一管理和调度,更适合大规模生产环境及多框架集成。我们将通过示例代码展示如何在这两种模式下运行 Spark 应用程序。
280 3
|
1月前
|
分布式计算 资源调度 Hadoop
Spark Standalone与YARN的区别?
本文详细解析了 Apache Spark 的两种常见部署模式:Standalone 和 YARN。Standalone 模式自带轻量级集群管理服务,适合小规模集群;YARN 模式与 Hadoop 生态系统集成,适合大规模生产环境。文章通过示例代码展示了如何在两种模式下运行 Spark 应用程序,并总结了两者的优缺点,帮助读者根据需求选择合适的部署模式。
74 3
|
2月前
|
分布式计算 资源调度 Hadoop
Spark Standalone与YARN的区别?
【10月更文挑战第5天】随着大数据处理需求的增长,Apache Spark 成为了广泛采用的大数据处理框架。本文详细解析了 Spark Standalone 与 YARN 两种常见部署模式的区别,并通过示例代码展示了如何在不同模式下运行 Spark 应用程序。Standalone 模式自带轻量级集群管理,适合小规模集群或独立部署;YARN 则作为外部资源管理器,能够与 Hadoop 生态系统中的其他应用共享资源,更适合大规模生产环境。文章对比了两者的资源管理、部署灵活性、扩展性和集成能力,帮助读者根据需求选择合适的部署模式。
35 1
|
2月前
|
分布式计算 Java 大数据
大数据-92 Spark 集群 SparkRDD 原理 Standalone详解 ShuffleV1V2详解 RDD编程优化
大数据-92 Spark 集群 SparkRDD 原理 Standalone详解 ShuffleV1V2详解 RDD编程优化
45 0
大数据-92 Spark 集群 SparkRDD 原理 Standalone详解 ShuffleV1V2详解 RDD编程优化
|
6月前
|
资源调度 分布式计算 监控
Spark Standalone与YARN的区别?
【6月更文挑战第17天】Spark Standalone与YARN的区别?
371 57
|
4月前
|
SQL 分布式计算 监控
|
4月前
|
分布式计算 并行计算 数据处理
|
5月前
|
SQL 弹性计算 资源调度
云服务器 ECS产品使用问题之bin/spark-sql --master yarn如何进行集群模式运行
云服务器ECS(Elastic Compute Service)是各大云服务商阿里云提供的一种基础云计算服务,它允许用户租用云端计算资源来部署和运行各种应用程序。以下是一个关于如何使用ECS产品的综合指南。