当前位置: 首页 > ai >正文

Spark,集群搭建之Yarn模式

集群搭建之Yarn模式

一、解压

上传并解压spark-3.1.2-bin-hadoop3.2.tgz,重命名解压之后的目录为spark-yarn。对应的命令是:

tar -zxvf spark-3.3.1-bin-hadoop3.tgz -C /opt/module

二、配置文件

修改一下spark的环境变量,打开 /etc/profile.d/my_env.sh  文件内容改为如下:

# spark 环境变量
export SPARK_HOME=/opt/module/spark-yarn
export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin

并同步给其他的设备 对应命令为: xsync  /etc/profile.d/

三、修改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>

把这个设置分发到其他节点。使用命令 xsync /opt/module/hadoop-3.1.3/etc/hadoop/ 同步一下。

四、修改spark配置

 把三个文件的名字重新设置一下。workers.tempalte 改成 workers;spark-env.sh.template 改成 spark-env.sh;spark-defaults.conf.template 改成 spark-defaults.conf。

然后,在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

五、同步

同步配置文件到其他设备。xsync /opt/module/spark-yarn/sbin

六、启动集群

启动hdfs和yarn。使用我们之前配置的脚本:myhadoop start

启动spark和spark的历史服务器。进入/opt/module/spark-yarn/sbin,运行: ./start-all.sh 和  ./start-history-server.sh

并通过jps去检查是否有对应的进程。

七、使用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

八、查看运行结果

在yarn任务面板页面中可以看到任务的信息。http://hadoop101:8088/cluster

点击history上的链接,可以跳转进入到spark的历史服务器的界面。

http://www.xdnf.cn/news/3313.html

相关文章:

  • go实现双向链表
  • Unity SpriteRenderer(精灵渲染器)
  • Linux常用命令27——userdel删除用户
  • 如何阅读GitHub上的深度学习项目
  • 论文报错3
  • js文件加密。安装 Terser
  • C++负载均衡远程调用学习之TCP连接封装与TCPCLIENT封装
  • 审计专员简历模板
  • 【Hot 100】23. 合并 K 个升序链表
  • 【深度学习新浪潮】小米MiMo-7B报告内容浅析
  • MATLAB中removedelay函数用法
  • 区间贪心 (区间端点处理)
  • llamafactory-cli webui启动报错TypeError: argument of type ‘bool‘ is not iterable
  • 《AI大模型应知应会100篇》第41篇:多轮对话设计:构建高效的交互式应用
  • CentOS 7 下安装 supervisor-3.4.0-1.el7.noarch.rpm 详细步骤
  • QMK固件开发指南:构建您的第一个固件
  • 22.2Linux的I2C驱动实验(编程)_csdn
  • 2024年12月 C/C++(二级)真题解析#中国电子学会#全国青少年软件编程等级考试
  • Qt指南针
  • 9. 深入Spring AI:刨析 ChatMemory
  • 从MCP基础到FastMCP实战应用
  • 攻防世界 - Web - Level 4 | Confusion1
  • qemu学习笔记:QOM
  • AWS CloudFront全球加速利器:解析出海业务的核心优势与最佳实践
  • 2025五一数学建模ABC题选题建议,思路模型分析
  • Hive数据倾斜 常见解决办法
  • 深度学习框架搭建(Vscode/Anaconda/CUDA/Pytroch)
  • 基于单片机的音频信号处理系统设计(三)
  • LangChain简明教程(12)
  • Ubuntu 安装 Cursor