如何搭建spark yarn模式的集群

1. 环境准备

  • 硬件:至少准备三台服务器,可使用虚拟机替代。
  • 软件:确保所有节点安装了相同版本的 Java(建议 Java 8 或更高版本)和 Hadoop(包含 YARN)。

2. 安装和配置 Hadoop(YARN)

2.1 下载和解压 Hadoop

从 Apache 官网下载 Hadoop 压缩包,然后解压到指定目录。例如:

bash

复制代码
wget https://downloads.apache.org/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz
tar -zxvf hadoop-3.3.6.tar.gz -C /usr/local/
2.2 配置 Hadoop

主要配置以下几个文件:

  • core-site.xml

xml

复制代码
<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://namenode:9000</value>
    </property>
</configuration>
  • hdfs-site.xml

xml

复制代码
<configuration>
    <property>
        <name>dfs.replication</name>
        <value>3</value>
    </property>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>/usr/local/hadoop-3.3.6/data/namenode</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>/usr/local/hadoop-3.3.6/data/datanode</value>
    </property>
</configuration>
  • yarn-site.xml

xml

复制代码
<configuration>
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>resourcemanager</value>
    </property>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
</configuration>
  • mapred-site.xml

xml

复制代码
<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>
2.3 格式化 HDFS

在 NameNode 节点上执行:

bash

复制代码
/usr/local/hadoop-3.3.6/bin/hdfs namenode -format
2.4 启动 Hadoop

在 NameNode 节点启动 HDFS:

bash

复制代码
/usr/local/hadoop-3.3.6/sbin/start-dfs.sh

在 ResourceManager 节点启动 YARN:

bash

复制代码
/usr/local/hadoop-3.3.6/sbin/start-yarn.sh

3. 安装和配置 Spark

3.1 下载和解压 Spark

从 Apache 官网下载 Spark 压缩包,然后解压到指定目录。例如:

bash

复制代码
wget https://downloads.apache.org/spark/spark-3.4.1/spark-3.4.1-bin-hadoop3.tgz
tar -zxvf spark-3.4.1-bin-hadoop3.tgz -C /usr/local/
3.2 配置 Spark

编辑 spark-env.sh 文件:

bash

复制代码
cp /usr/local/spark-3.4.1-bin-hadoop3/conf/spark-env.sh.template /usr/local/spark-3.4.1-bin-hadoop3/conf/spark-env.sh

添加以下内容:

bash

复制代码
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export HADOOP_CONF_DIR=/usr/local/hadoop-3.3.6/etc/hadoop
export SPARK_EXECUTOR_CORES=2
export SPARK_EXECUTOR_MEMORY=2g
export SPARK_DRIVER_MEMORY=1g

4. 测试 Spark on YARN

在 Spark 目录下执行以下命令提交一个简单的 Spark 应用:

bash

复制代码
/usr/local/spark-3.4.1-bin-hadoop3/bin/spark-submit \
    --class org.apache.spark.examples.SparkPi \
    --master yarn \
    --deploy-mode cluster \
    /usr/local/spark-3.4.1-bin-hadoop3/examples/jars/spark-examples_2.12-3.4.1.jar \
    10

5. 常见问题处理

  • 网络问题:确保所有节点之间网络连通,防火墙允许 Hadoop 和 Spark 相关端口通信。
  • 权限问题:确保运行 Hadoop 和 Spark 的用户有足够的权限访问相关目录和文件。

通过以上步骤,你就可以成功搭建一个 Spark YARN 模式的集群。

相关推荐
我星期八休息36 分钟前
大模型 + 垂直场景:搜索/推荐/营销/客服领域开发新范式与技术实践
大数据·人工智能·python
最初的↘那颗心2 小时前
Flink Stream API - 源码开发需求描述
java·大数据·hadoop·flink·实时计算
白鲸开源2 小时前
收藏!史上最全 Apache SeaTunnel Source 连接器盘点 (2025版),一篇通晓数据集成生态
大数据·数据库·开源
爱疯生活2 小时前
车e估牵头正式启动乘用车金融价值评估师编制
大数据·人工智能·金融
Lx3523 小时前
MapReduce作业调试技巧:从本地测试到集群运行
大数据·hadoop
计算机程序员小杨3 小时前
计算机专业的你懂的:大数据毕设就选贵州茅台股票分析系统准没错|计算机毕业设计|数据可视化|数据分析
java·大数据
BYSJMG3 小时前
计算机大数据毕业设计推荐:基于Spark的气候疾病传播可视化分析系统【Hadoop、python、spark】
大数据·hadoop·python·信息可视化·spark·django·课程设计
励志成为糕手3 小时前
大数据MapReduce架构:分布式计算的经典范式
大数据·hadoop·mapreduce·分布式计算·批处理
计算机毕设残哥4 小时前
大数据毕业设计选题推荐:护肤品店铺运营数据可视化分析系统详解
大数据·信息可视化·课程设计
君不见,青丝成雪4 小时前
大数据云原生是什么
大数据·云原生