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

配置 Spark 以 YARN 模式

以下是配置 Spark 以 YARN 模式运行的详细步骤:

环境准备

  • 安装 JDK:所有节点需安装 JDK 1.8 或以上版本,并配置环境变量,确保 JAVA_HOME 正确指向安装路径。
  • 安装 Hadoop:安装 Hadoop(推荐 3.x 版本),并配置好 YARN。在 yarn-site.xml 中启用资源调度,设置 yarn.resourcemanager.hostname 为主节点 IP 或主机名。同时,设置 HADOOP_HOMEHADOOP_CONF_DIR 环境变量。
  • 安装 Spark:下载与 Hadoop 兼容的 Spark 版本(如 Spark 3.5.5 对应 Hadoop 3.x),解压至统一目录(如 /opt/spark),并配置 SPARK_HOME 环境变量。

修改 Spark 配置文件

  • 修改 spark-env.sh:在 Spark 的 conf 目录下,重命名 spark-env.sh.templatespark-env.sh,并添加以下配置以关联 Hadoop 和 YARN:
    export JAVA_HOME=/opt/java/jdk8
    export HADOOP_HOME=/opt/hadoop/hadoop-3.2.2
    export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
    export SPARK_DIST_CLASSPATH=$(hadoop classpath)
    
  • 修改 spark-defaults.conf:在 Spark 的 conf 目录下,重命名 spark-defaults.conf.templatespark-defaults.conf,并添加以下配置:
    spark.master                        yarn
    spark.eventLog.enabled              true
    spark.eventLog.dir                  hdfs://master:9000/spark-logs
    spark.history.fs.logDirectory       hdfs://master:9000/spark-logs
    spark.yarn.resourcemanager.address  master:8032
    spark.yarn.historyServer.address    http://master:18080
    spark.yarn.stagingDir               hdfs://master:9000/spark-Staging
    

启动服务

  • 启动 Hadoop 与 YARN 服务
    • 启动 HDFS:start-dfs.sh
    • 启动 YARN:start-yarn.sh
      确认 ResourceManager 和 NodeManager 进程正常运行。
  • 启动 Spark 历史服务器:在启动 Spark 历史服务器之前,需要在 HDFS 创建对应的目录:
    hdfs dfs -mkdir -p /spark-logs
    hdfs dfs -mkdir -p /spark-Staging
    

提交测试任务

使用 spark-submit 提交示例程序,验证集群是否正常工作。例如:

spark-submit --class org.apache.spark.examples.SparkPi \
--master yarn \
--deploy-mode client \
$SPARK_HOME/examples/jars/spark-examples_2.12-3.5.5.jar 100

检查 YARN Web UI(默认端口 8088)中任务状态和日志输出。

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

相关文章:

  • 笔试模拟 day9
  • 深入理解Java编写泛型的方法!
  • 杰理-701-手表sdk无法电脑连接经典蓝牙
  • 微信小程序的开发及问题解决
  • 游戏资源传输服务器
  • 第三章 初始化配置(一)
  • GitHub 趋势日报 (2025年05月12日)
  • 电能质量扰动信号信号通过hilbert变换得到瞬时频率
  • 2025.05.11拼多多机考真题算法岗-第一题
  • MCU开发学习记录14* - 8080学习与实践(HAL库) - 控制LCD屏幕显示中英文、图片 - STM32CubeMX
  • 【Axure视频教程】中继器表格间批量控制和传值
  • 艺考之神余嘉诚话剧舞台首秀《屈原辞》 倾情演绎楚辞风骨
  • [Java][Leetcode middle] 45. 跳跃游戏 II
  • 音频转文字-在线工具包及使用记录
  • 提示词设计模板(基于最佳实践)
  • Datawhale PyPOTS时间序列5月第1次笔记
  • 2025 3D工业相机选型及推荐
  • Elecron 相关介绍以及常见的面试问题
  • 【MapReduce入门】深度解析MapReduce:定义、核心特点、优缺点及适用场景
  • 1950-2024年中国区域的积温数据(大于10°)
  • 2025最新出版 Microsoft Project由入门到精通(七)
  • Unity 2D 行走动画示例工程手动构建教程-AI变成配额前端UI-完美游戏开发流程
  • 5月13日day24日打卡
  • 完成springBoot+vue项目时学习到的知识点
  • 嵌入式STM32学习——外部中断EXTI与NVIC的基础练习⭐
  • 机试刷题:进制转换3
  • 【Pandas】pandas DataFrame cummin
  • 蓝桥杯 11.日志统计
  • 亚远景-基于ASPICE的汽车供应链质量管控培训
  • 网站遭受扫描攻击,大量爬虫应对策略