如何搭建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--bin-hadoop.tgz -C /opt
    mv /opt/spark--bin-hadoop /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 文件,添加以下内容:

     
    
      yarn.log-aggregation-enable
      true
    
    
      yarn.log-aggregation.retain-seconds
      604800
    
    
      yarn.log.server.url
      http://master:19888/jobhistory/logs
    
    
      yarn.nodemanager.pmem-check-enabled
      false
    
    
      yarn.nodemanager.vmem-check-enabled
      false
    
  • 将修改后的 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

你可能感兴趣的:(spark,大数据,分布式)