spark-配置yarn模式

发布于:2025-05-18 ⋅ 阅读:(14) ⋅ 点赞:(0)

1.上传并解压spark-3.1.1-bin-hadoop3.2.tgz  (/opt/software)
解压的命令是:tar -zxvf spark-3.3.1-bin-hadoop3.tgz -C /opt/module 

(cd /opt/software  进入software)
2.重命名
解压之后的目录为spark-yarn(原为spark-3.1.1-bin-hadoop3.2.tgz)
3.改Spark-yarn的环境变量
路径:/etc/profile.d/my_env.sh
my_env.sh双击打开 最后三行  
(若做过spark-local则将spark-local改为spark-yarn)
具体如下:
# spark 环境变量
export SPARK_HOME=/opt/module/spark-yarn
export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin
4.生效
命令:source /etc/profile
5.验证是否生效成功
命令:echo $PATH
看最后是否有 /opt/module/spark-yarn/sbin
6.同步
命令:xsync  /etc/profile.d
7.修改hadoop的配置
/opt/module/hadoop-3.1.3/etc/hadoop/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>

8.同步
xsync /opt/module/hadoop-3.1.3/etc/hadoop
9.修改spark配置(改spark-yarn)  把三个文件的名字重新设置一下。
  在spark-yarn里双击conf文件
workers.tempalte 改成 workers
spark-env.sh.template 改成 spark-env.sh
spark-defaults.conf.template 改成 spark-defaults.conf
10.然后,在workers文件中添加
hadoop100
hadoop101
hadoop102

在spark-env.sh文件中,添加如下
SPARK_MASTER_HOST=hadoop100
SPARK_MASTER_PORT=7077
HADOOP_CONF_DIR=/opt/module/hadoop-3.1.3/etc/hadoop
YARN_CONF_DIR=/opt/module/hadoop-3.1.3/etc/hadoop
export SPARK_HISTORY_OPTS="-Dspark.history.fs.logDirectory=hdfs://hadoop100:8020/directory"

在spark-defaults.conf文件中,添加如下
spark.eventLog.enabled true
spark.eventLog.dir hdfs://hadoop100:8020/directory
spark.yarn.historyServer.address=hadoop100:18080
spark.history.ui.port=18080

10.同步配置文件到其他设备
xsync /opt/module/spark-yarn/sbin
(下方搜索栏在/opt/module/spark-yarn)
11.启动集群
注意这里要同时启动hadoop和spark
http://hadoop100:9870
http://hadoop101:8088
(myhadoop start)
启动spark和spark的历史服务器
进入/opt/module/spark-yarn/sbin  
运行: ./start-all.sh 和 ./start-history-server.sh
并通过jps去检查是否有对应的进程。
12.提交任务到集群
使用spark-submit提交任务
spark-submit --class org.apache.spark.examples.SparkPi --master yarn --deploy-mode cluster  /opt/module/spark-standalone/examples/jars/spark-examples_2.12-3.1.1.jar 10

13.查看运行结果
 在yarn任务面板页面中可以看到任务的信息。
http://hadoop101:8088
最终在在http://hadoop100:18080可以看到