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

如何搭建spark yarn模式的集合集群

一、环境准备

在搭建 Spark on YARN 集群之前,需要确保以下环境已经准备就绪:

  1. 操作系统:推荐使用 CentOS、Ubuntu 等 Linux 发行版。

  2. Java 环境:确保安装了 JDK 1.8 或更高版本。

  3. Hadoop 集群:已经搭建并运行的 Hadoop 集群,包括 HDFS 和 YARN。

二、安装 Spark

  1. 下载 Spark
    从 Apache Spark 官方网站下载适合您 Hadoop 版本的 Spark 安装包。例如,如果您使用的是 Hadoop 3.2,可以下载 spark-3.1.2-bin-hadoop3.2.tgz

  2. 解压并安装
    将下载的 Spark 安装包解压到指定目录,并创建符号链接以便管理。

    cd /opt/modules/
    tar -zxf spark-3.1.2-bin-hadoop3.2.tgz -C /opt/installs
    cd /opt/installs
    mv spark-3.1.2-bin-hadoop3.2 spark-yarn
    ln -s /opt/installs/spark-yarn /opt/installs/spark

三、配置 Spark

  1. 修改 spark-env.sh 配置文件。
    在 Spark 的 conf 目录中,将 spark-env.sh.template 文件重命名为 spark-env.sh,并编辑该文件。

    cd /opt/installs/spark/conf
    mv spark-env.sh.template spark-env.sh
    vim spark-env.sh

    在文件中添加以下内容:

    export JAVA_HOME=/opt/installs/jdk
    export HADOOP_CONF_DIR=/opt/installs/hadoop/etc/hadoop
    export YARN_CONF_DIR=/opt/installs/hadoop/etc/hadoop
    export SPARK_DAEMON_MEMORY=1g
    export SPARK_HISTORY_OPTS="-Dspark.history.fs.logDirectory=hdfs://bigdata01:9820/spark/eventLogs/ -Dspark.history.fs.cleaner.enabled=true"
  2. 修改 spark-defaults.conf 文件。
    spark-defaults.conf.template 文件重命名为 spark-defaults.conf,并编辑该文件:

    mv spark-defaults.conf.template spark-defaults.conf
    vim spark-defaults.conf

    添加以下内容:

    spark.eventLog.enabled           true
    spark.eventLog.dir               hdfs://bigdata01:9820/spark/eventLogs
    spark.eventLog.compress          true
    spark.yarn.historyServer.address bigdata01:18080
    spark.yarn.jars                  hdfs://bigdata01:9820/spark/jars/*
  3. 修改 YARN 配置文件
    编辑 Hadoop 的 yarn-site.xml 文件,确保以下配置项正确:

    <property><name>yarn.log-aggregation-enable</name><value>true</value>
    </property>
    <property><name>yarn.log-aggregation.retain-seconds</name><value>604800</value>
    </property>
    <property><name>yarn.log.server.url</name><value>http://bigdata01:19888/jobhistory/logs</value>
    </property>
    <property><name>yarn.nodemanager.pmem-check-enabled</name><value>false</value>
    </property>
    <property><name>yarn.nodemanager.vmem-check-enabled</name><value>false</value>
    </property>
  4. 分发配置文件
    使用工具(如 xsync.sh)将配置文件同步到所有集群节点:

    xsync.sh /opt/installs/spark
    xsync.sh /opt/installs/hadoop/etc/hadoop/yarn-site.xml

四、启动集群

  1. 启动 Hadoop 集群
    确保 HDFS 和 YARN 服务已经启动:

    start-dfs.sh
    start-yarn.sh
  2. 启动 Spark History Server
    启动 Spark 的历史服务器:

    /opt/installs/spark/sbin/start-history-server.sh

五、测试集群

  1. 提交测试作业
    使用 spark-submit 提交一个简单的 Spark 作业:

    spark-submit --master yarn --deploy-mode cluster examples/src/main/python/pi.py 1000
  2. 查看作业运行情况
    在 YARN 的 Web UI 页面(通常是 http://master:8088)中查看作业的运行情况

http://www.dtcms.com/a/161111.html

相关文章:

  • 搭建 Spark YARN 模式集群指南
  • 集成学习详解
  • Darvas Box黄金交易算法详解:基于XAU/USD的实战应用
  • Web 基础与Nginx访问统计
  • lmms-eval--微调实战笔记
  • 如何实现Kafka的Exactly-Once语义?
  • 输出圆周率的前n位数字
  • 含锡废水综合治理技术解析
  • Electron 入门指南
  • 【ACL系列论文写作指北08-图表设计规范】-让数据与结构一目了然
  • 深入探究C++ 中的stack、queue和deque
  • 数据结构之顺序表
  • Flask + ajax上传文件(四)--数据入库教程
  • 在自动驾驶数据闭环中的特征工程应用
  • JAVA-StringBuilder使用方法
  • vue代码规范管理
  • html css js网页制作成品——HTML+CSS甜品店网页设计(4页)附源码
  • 花费7元训练自己的GPT 2模型
  • 数组滑动窗口单调栈单调队列trick集【leetcode hot100 c++速查!!!】
  • 【wpf】 WPF中实现动态加载图片浏览器(边滚动边加载)
  • Python-librosa库提取音频数据的MFCC特征
  • 推荐私有化部署的企业内部通讯软件BeeWorks
  • 短视频矩阵系统贴牌批量剪辑功能开发,支持OEM
  • 反射与注解实现动态功能扩展案例-插件系统
  • 基于RSSI原理的Wi-Fi定位程序,N个锚点(数量可自适应)、三维空间,轨迹使用CKF进行滤波,附完整的代码,可复制粘贴
  • 探索 Redis 缓存对系统性能的提升——项目启动与操作指南
  • 论文导读 - 基于边缘计算、集成学习与传感器集群的便携式电子鼻系统
  • 解构编程语言的基因密码:论数据类型如何被语言系统定义与重塑
  • Kubernetes(k8s)学习笔记(三)--部署 Kubernetes Master
  • uni-app(vue3)动态获取swiper的区域高度以及通过scroll-view实现区域滚动和scroll-view的置顶功能