spark on yarn 配置

 

1)解压spark

[atguigu@hadoop102 software]$ tar -zxvf spark-3.3.1-bin-hadoop3.tgz -C /opt/module/

2)进入到/opt/module目录,修改spark-3.3.1-bin-hadoop3名称为spark-yarn

[atguigu@hadoop102 module]$ mv spark-3.3.1-bin-hadoop3/ spark-yarn

3)修改hadoop配置文件/opt/module/hadoop/etc/hadoop/yarn-site.xml,添加如下内容

因为测试环境虚拟机内存较少,防止执行过程进行被意外杀死,做如下配置

[atguigu@hadoop102 hadoop]$ vim yarn-site.xml

<!--是否启动一个线程检查每个任务正使用的物理内存量,如果任务超出分配值,则直接将其杀掉,默认是true -->

<property>

     <name>yarn.nodemanager.pmem-check-enabled</name>

     <value>false</value>

</property>

 

<!--是否启动一个线程检查每个任务正使用的虚拟内存量,如果任务超出分配值,则直接将其杀掉,默认是true -->

<property>

     <name>yarn.nodemanager.vmem-check-enabled</name>

     <value>false</value>

</property>

4)分发配置文件

[atguigu@hadoop102 conf]$ xsync /opt/module/hadoop/etc/hadoop/yarn-site.xml

5)修改/opt/module/spark-yarn/conf/spark-env.sh,添加YARN_CONF_DIR配置,保证后续运行任务的路径都变成集群路径

[atguigu@hadoop102 conf]$ mv spark-env.sh.template spark-env.sh

[atguigu@hadoop102 conf]$ vim spark-env.sh

 

YARN_CONF_DIR=/opt/module/hadoop/etc/hadoop

6启动HDFS以及YARN集群

[atguigu@hadoop102 hadoop-3.3.1]$ sbin/start-dfs.sh

[atguigu@hadoop103 hadoop-3.3.1]$ sbin/start-yarn.sh

7)执行一个程序

[atguigu@hadoop102 spark-yarn]$ bin/spark-submit \

--class org.apache.spark.examples.SparkPi \

--master yarn \

./examples/jars/spark-examples_2.12-3.3.1.jar \

10

 

参数:--master yarn,表示Yarn方式运行;--deploy-mode表示客户端方式运行程序

 

8)查看hadoop103:8088页面,点击History,查看历史页面

思考:目前是Hadoop的作业运行日志展示,如果想获取Spark的作业运行日志,怎么办? 

 

===============================本人配置文件=======================================

spark-defaults.conf 

spark.eventLog.enabled           true

spark.eventLog.dir               hdfs://hadoop01:8020/spark_logs

spark.yarn.historyServer.address=bigdata01:18080

spark.history.ui.port=18080

spark.history.fs.logDirectory=hdfs://zszccluster/spark/logs

 

spark.eventLog.compress=true

spark.yarn.jars=hdfs://zszccluster/spark/jars/*

把spark安装目录jars下的jar包上传到 hdfs://zszccluster/spark/jars/*

 

 缺少jar包报下边的错误

 

 

spark-env.sh 

export JAVA_HOME=/usr/local/jdk

export YARN_CONF_DIR=/data/hadoop/etc/hadoop

export HADOOP_CONF_DIR=/data/hadoop/etc/hadoop

#export SPARK_MASTER_WEBUI_PORT=8989

 

export SPARK_DIST_CLASSPATH=$(/data/hadoop/bin/hadoop classpath)

总是报下边这个错误,加上这个配置没问题了。

 

 

 

export SPARK_HISTORY_OPTS="

-Dspark.history.ui.port=18080 

-Dspark.history.fs.logDirectory=hdfs://zszccluster/spark_logs

-Dspark.history.retainedApplications=30"

 

问题查询引用:

https://blog.sina.com.cn/s/blog_c059d97c0102z1pz.html

posted @ 2024-05-10 19:31  wanghaoyus  阅读(28)  评论(0)    收藏  举报