Spark on Yarn安装配置,大数据技能竞赛(容器环境)

Spark on Yarn模式,即把Spark作为一个客户端,将作业提交给Yarn服务,由于在生产环境中,很多时候都要与Hadoop使用同一个集群,因此采用Yarn来管理资源调度,可以有效提高资源利用率。

环境说明:

服务端登录地址详见各任务服务端说明。

补充说明:宿主机可通过Asbru工具或SSH客户端进行SSH访问;

相关软件安装包在宿主机的/opt目录下,请选择对应的安装包进行安装,用不到的可忽略;

所有任务中应用命令必须采用绝对路径;

进入Master节点的方式为

docker exec -it master /bin/bash

进入Slave1节点的方式为

docker exec -it slave1 /bin/bash

进入Slave2节点的方式为

docker exec -it slave2 /bin/bash

三个容器节点的root密码均为123456

提前准备好 spark-3.1.1-bin-hadoop3.2.tgz 放在宿主机的/opt/下(模拟的自己准备,比赛时会提供)

Hadoop 完全分布式安装配置

环境搭建请看这篇文章大数据模块A环境搭建

前提条件已经在容器里搭建完hadoop了,没搭建的请看这篇Hadoop 完全分布式安装配置****

Spark on Yarn安装配置

本任务需要使用root用户完成相关配置,已安装Hadoop及需要配置前置环境,具体要求如下:

1、 从宿主机/opt目录下将文件spark-3.1.1-bin-hadoop3.2.tgz复制到容器Master中的/opt/software(若路径不存在,则需新建)中,将Spark包解压到/opt/module路径中(若路径不存在,则需新建),将完整解压命令复制粘贴至客户端桌面【Release\任务A提交结果.docx】中对应的任务序号下;

第一步:从宿主机/opt目录下将文件spark-3.1.1-bin-hadoop3.2.tgz复制到容器Master中的/opt/software(若路径不存在,则需新建)中

bash 复制代码
[root@Bigdata ~]# docker cp /opt/spark-3.1.1-bin-hadoop3.2.tgz master:/opt/software

第二步:将Spark包解压到/opt/module路径中(若路径不存在,则需新建)

bash 复制代码
[root@master ~]# tar zxvf /opt/software/spark-3.1.1-bin-hadoop3.2.tgz -C /opt/module/
[root@master ~]# mv /opt/module/spark-3.1.1-bin-hadoop3.2 /opt/module/spark

2、 修改容器中/etc/profile文件,设置Spark环境变量并使环境变量生效,在/opt目录下运行命令spark-submit --version,将命令与结果截图粘贴至客户端桌面【Release\任务A提交结果.docx】中对应的任务序号下;

第一步:修改容器中/etc/profile文件,设置Spark环境变量

bash 复制代码
#SPARK_HOME
export SPARK_HOME=/opt/module/spark
export PATH=$PATH:$SPARK_HOME/binc

第二步:使环境变量生效

bash 复制代码
[root@master ~]# source /etc/profile

第三步:在/opt目录下运行命令spark-submit --version

bash 复制代码
[root@master ~]# cd /opt/
[root@master opt]# spark-submit --version
Welcome to
      ____              __
     / __/__  ___ _____/ /__
    _\ \/ _ \/ _ `/ __/  '_/
   /___/ .__/\_,_/_/ /_/\_\   version 3.1.1
      /_/
                        
Using Scala version 2.12.10, Java HotSpot(TM) 64-Bit Server VM, 1.8.0_212
Branch HEAD
Compiled by user ubuntu on 2021-02-22T01:33:19Z
Revision 1d550c4e90275ab418b9161925049239227f3dc9
Url https://github.com/apache/spark
Type --help for more information.
[root@master opt]# 

3、 完成on yarn相关配置,使用spark on yarn 的模式提交$SPARK_HOME/examples/jars/spark-examples_2.12-3.1.1.jar 运行的主类为org.apache.spark.examples.SparkPi,将运行结果截图粘贴至客户端桌面【Release\任务A提交结果.docx】中对应的任务序号下(截取Pi结果的前后各5行)。

(运行命令为:spark-submit --master yarn --class org.apache.spark.examples.SparkPi $SPARK_HOME/examples/jars/spark-examples_2.12-3.1.1.jar)

第一步:完成on yarn相关配置

  1. 修改hadoop配置文件/opt/module/hadoop/etc/hadoop/yarn-site.xml

    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>

发到其他节点(slave1,slave2)

bash 复制代码
[root@master ~]# scp /opt/module/hadoop/etc/hadoop/yarn-site.xml slave1:/opt/module/hadoop/etc/hadoop/yarn-site.xml 
[root@master ~]# scp /opt/module/hadoop/etc/hadoop/yarn-site.xml slave2:/opt/module/hadoop/etc/hadoop/yarn-site.xml 

复制一份spark-env.sh

bash 复制代码
[root@master ~]# cp /opt/module/spark/conf/spark-env.sh.template /opt/module/spark/conf/spark-env.sh

修改/opt/module/spark/conf/spark-env.sh,添加JAVA_HOME、YARN_CONF_DIR和HADOOP_CONF_DIR配置

bash 复制代码
[root@master ~]# vi /opt/module/spark/conf/spark-env.sh
bash 复制代码
export JAVA_HOME=/opt/module/java
export YARN_CONF_DIR=/opt/module/hadoop/etc/hadoop
export HADOOP_CONF_DIR=/opt/module/hadoop/etc/hadoop

启动Hadoop集群

bash 复制代码
start-all.sh

确保 /user/root//user/root/.sparkStaging/ 目录有足够的权限。

bash 复制代码
hdfs dfs -chmod -R 777 /user/root

第二步:使用spark on yarn 的模式提交$SPARK_HOME/examples/jars/spark-examples_2.12-3.1.1.jar 运行的主类为org.apache.spark.examples.SparkPi

bash 复制代码
spark-submit --master yarn --class org.apache.spark.examples.SparkPi  $SPARK_HOME/examples/jars/spark-examples_2.12-3.1.1.jar

截取Pi结果的前后各5行

声明:此文章为个人学习笔记,如文章有问题欢迎留言探讨,也希望您的指正 !

相关推荐
讯展互联5 小时前
实体业态运营效率分析:装修门店投放自主与外包的人力模型对比
大数据·网络·经验分享·创业创新·学习方法
人民新视野5 小时前
2026防尘口罩品牌推荐:三大防尘口罩品牌实用指南
大数据
Lucky_luckyZzz5 小时前
销售会话分析与智能工牌实测红榜:灵听工牌如何成为B2B销售效率提升的选型标杆?
大数据·人工智能
江瀚视野6 小时前
京东快递推行业首个寄文件证照送保价,京东如何改变市场?
大数据
冷咖啡离6 小时前
分布式 Agent 如何把断点恢复、审计策略和执行调度收进同一条链路
分布式
万点科技码农7 小时前
2025年7月11日行业热点解读:定制软件开发与AI工作流重构一体化趋势
大数据·人工智能·重构
Regentsoft丽晶软件7 小时前
从“等客进店”到“上门成交”:服装门店移动POS离店收银的完整业务流程2026
大数据·经验分享·用户运营·零售
dayuOK63077 小时前
AI Agent市场爆发:从“试一试”到“离不开”,只用了不到一年
大数据·人工智能·ai作画·新媒体运营·aigc·ai写作
海外数字观察家7 小时前
马来西亚商贸数字化落地指南:跨境批发、连锁零售首选ERP方案(品未云)
大数据·人工智能·马来西亚进销存系统·马来西亚收银系统·马来西亚erp系统·马来西亚仓库管理系统
珠海西格电力7 小时前
数据采集与治理:零碳园区管理系统的 “生命线”
大数据·人工智能·算法·架构·能源