如何搭建spark yarn 模式的集群

1. 环境准备

  • 集群中的每台节点都要安装好 Java 环境(建议 Java 8 及以上版本)。
  • 确保所有节点间能通过 SSH 无密码登录。
  • 安装并配置好 Hadoop 集群,因为 YARN 是 Hadoop 的资源管理系统。

2.配置Hadoop

core-site.xml

<configuration>

<property>

<name>fs.defaultFS</name>

<value>hdfs://namenode:9000</value>

</property>

</configuration>

hdfs-site.xml

复制代码
<configuration>
    <property>
        <name>dfs.replication</name>
        <value>3</value>
    </property>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>/data/hadoop/namenode</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>/data/hadoop/datanode</value>
    </property>
</configuration>
  • yarn-site.xml
复制代码
<configuration>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>resourcemanager</value>
    </property>
</configuration>
  • mapred-site.xml
java 复制代码
<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>

在 NameNode 节点上格式化 HDFS:

hdfs namenode -format

启动 HDFS 和 YARN:

start-dfs.sh

start-yarn.sh

3.下载spark

将下载好的spark拖入opt中创建的文件夹module将他解压至创建的文件夹software中

wget https://downloads.apache.org/spark/spark-3.3.2/spark-3.3.2-bin-hadoop3.tgz tar -zxvf spark-3.3.2-bin-hadoop3.tgz -C /opt

3.1配置环境变量

编辑 /etc/profile 文件,添加如下内容:

export SPARK_HOME=/opt/spark-3.3.2-bin-hadoop3 export PATH=PATH:SPARK_HOME/bin:$SPARK_HOME/sbin

使其生效

source /etc/profile

3.3 配置 Spark 核心文件

node1 节点上编辑以下文件:

  • spark-env.sh

cp /opt/spark-3.3.2-bin-hadoop3/conf/spark-env.sh.template /opt/spark-3.3.2-bin-hadoop3/conf/spark-env.sh vim /opt/spark-3.3.2-bin-hadoop3/conf/spark-env.sh

添加内容:

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 export HADOOP_CONF_DIR=/opt/hadoop-3.3.4/etc/hadoop export SPARK_MASTER_HOST=node1 export SPARK_LOCAL_IP=node1 export SPARK_HISTORY_OPTS="-Dspark.history.fs.logDirectory=hdfs://node1:9000/spark-logs -Dspark.history.ui.port=18080"

  • spark-defaults.conf

cp /opt/spark-3.3.2-bin-hadoop3/conf/spark-defaults.conf.template /opt/spark-3.3.2-bin-hadoop3/conf/spark-defaults.conf vim /opt/spark-3.3.2-bin-hadoop3/conf/spark-defaults.conf

添加如下内容

spark.master yarn spark.submit.deployMode cluster spark.yarn.am.memory 1024m spark.executor.memory 1024m spark.eventLog.enabled true spark.eventLog.dir hdfs://node1:9000/spark-logs

3.4同步到其他节点

scp -r /opt/spark-3.3.2-bin-hadoop3/conf node2:/opt/spark-3.3.2-bin-hadoop3/ scp -r /opt/spark-3.3.2-bin-hadoop3/conf node3:/opt/spark-3.3.2-bin-hadoop3/

3.5创建spark日志

hdfs dfs -mkdir -p /spark-logs

3.6 启动 Spark History Server

node1 节点上执行:

start-history-server.sh

4.测试集群

spark-submit --class org.apache.spark.examples.SparkPi \ --master yarn \ --deploy-mode cluster \ /opt/spark-3.3.2-bin-hadoop3/examples/jars/spark-examples_2.12-3.3.2.jar \ 10

相关推荐
Qdgr_12 分钟前
价值实证:数字化转型标杆案例深度解析
大数据·数据库·人工智能
选择不变19 分钟前
日线周线MACD指标使用图文教程,通达信指标
大数据·区块链·通达信指标公式·炒股技巧·短线指标·炒股指标
高山莫衣44 分钟前
git rebase多次触发冲突
大数据·git·elasticsearch
链上Sniper1 小时前
智能合约状态快照技术:实现 EVM 状态的快速同步与回滚
java·大数据·linux·运维·web3·区块链·智能合约
wx_ywyy67982 小时前
推客系统小程序终极指南:从0到1构建自动裂变增长引擎,实现业绩10倍增长!
大数据·人工智能·短剧·短剧系统·推客系统·推客小程序·推客系统开发
蚂蚁数据AntData2 小时前
从性能优化赛到社区Committer,走进赵宇捷在Apache Fory的成长之路
大数据·开源·apache·数据库架构
谷新龙0014 小时前
大数据环境搭建指南:基于 Docker 构建 Hadoop、Hive、HBase 等服务
大数据·hadoop·docker
FF-Studio5 小时前
【硬核数学】3. AI如何应对不确定性?概率论为模型注入“灵魂”《从零构建机器学习、深度学习到LLM的数学认知》
大数据·人工智能·深度学习·机器学习·数学建模·自然语言处理·概率论
百度Geek说7 小时前
搜索数据建设系列之数据架构重构
数据仓库·重构·架构·spark·dubbo
嘉讯科技HIS系统8 小时前
嘉讯科技:医疗信息化、数字化、智能化三者之间的关系和区别
大数据·数据库·人工智能·科技·智慧医疗