欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 焦点 > 配置 Spark 以 YARN 模式

配置 Spark 以 YARN 模式

2025/5/17 20:45:52 来源:https://blog.csdn.net/lqlj2233/article/details/147914194  浏览:    关键词:配置 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)中任务状态和日志输出。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词