如何搭建spark yarn模式的集群

1. 系统准备

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

  • Java 环境:安装 JDK 1.8 或以上版本。

  • 网络配置:确保集群中各节点网络互通,主机名和 IP 地址已正确配置。

2. 安装 Hadoop

  • 下载 Hadoop:从 Apache Hadoop 官网下载合适版本的 Hadoop。

  • 解压安装:将 Hadoop 解压到指定目录,例如 /opt/hadoop

  • 配置 Hadoop

    • 修改 core-site.xmlhdfs-site.xml 文件,配置 HDFS。

    • 修改 yarn-site.xml 文件,配置 YARN。

    • 配置 slaves 文件,添加所有从节点的主机名。

  • 启动 Hadoop

     
    start-dfs.sh
    start-yarn.sh

3. 安装 Spark

  • 下载 Spark:从 Apache Spark 官网下载预编译好的 Spark 安装包。

  • 解压安装

     
    tar -zxvf spark-<version>-bin-hadoop<version>.tgz -C /opt
    mv /opt/spark-<version>-bin-hadoop<version> /opt/spark
  • 配置 Spark

    • 修改 spark-env.sh 文件:

       
      cp /opt/spark/conf/spark-env.sh.template /opt/spark/conf/spark-env.sh
      vim /opt/spark/conf/spark-env.sh

      添加以下内容:

       
      export JAVA_HOME=/path/to/java
      export HADOOP_CONF_DIR=/opt/hadoop/etc/hadoop
      export YARN_CONF_DIR=/opt/hadoop/etc/hadoop
      export SPARK_DAEMON_MEMORY=1g
      export SPARK_HISTORY_OPTS="-Dspark.history.fs.logDirectory=hdfs://master:9820/spark/eventLogs/ -Dspark.history.fs.cleaner.enabled=true"
    • 修改 spark-defaults.conf 文件:

       
      cp /opt/spark/conf/spark-defaults.conf.template /opt/spark/conf/spark-defaults.conf
      vim /opt/spark/conf/spark-defaults.conf

      添加以下内容:

       
      spark.eventLog.enabled           true
      spark.eventLog.dir               hdfs://master:9820/spark/eventLogs
      spark.eventLog.compress          true
      spark.yarn.historyServer.address master:18080
      spark.yarn.jars                  hdfs://master:9820/spark/jars/*
    • 修改 log4j.properties 文件,将日志级别设置为 WARN:

      log4j.rootCategory=WARN, console

4. 配置 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://master: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>
  • 将修改后的 yarn-site.xml 文件分发到所有节点。

5. 分发 Spark 配置

  • 将主节点的 Spark 安装目录(例如 /opt/spark)分发到所有从节点:

     
    scp -r /opt/spark root@slave1:/opt/
    scp -r /opt/spark root@slave2:/opt/
  • 确保所有节点的环境变量一致,修改 /etc/profile 文件:

     
    export SPARK_HOME=/opt/spark
    export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin

6. 上传 Spark JAR 包到 HDFS

  • 将 Spark 的 JAR 包上传到 HDFS:

     
    hdfs dfs -mkdir -p /spark/jars/
    hdfs dfs -put /opt/spark/jars/* /spark/jars/

7. 启动相关服务

  • 启动 YARN

     
    start-yarn.sh
  • 启动 MapReduce JobHistoryServer

     
    mapred --daemon start historyserver
  • 启动 Spark History Server

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

8. 测试集群

  • 提交一个 Spark 作业测试集群是否正常工作:

    spark-shell --master yarn
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值