欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 美食 > 如何搭建spark yarn模式的集群

如何搭建spark yarn模式的集群

2025/5/3 6:45:57 来源:https://blog.csdn.net/sxy_1030_/article/details/147594398  浏览:    关键词:如何搭建spark yarn模式的集群

一、环境准备
1. 操作系统:建议使用 CentOS、Ubuntu 等 Linux 系统。
2. Java 环境:安装 JDK 1.8 或以上版本。
3. Hadoop 环境:安装并配置 Hadoop 集群,确保 HDFS 和 YARN 服务正常运行。

二、安装 Spark
1. 下载并解压 Spark:
   下载 Spark 安装包(如 `spark-3.1.2-bin-hadoop3.2.tgz`)。
   解压到指定目录,例如 `/opt/installs`:
 

tar -zxf spark-3.1.2-bin-hadoop3.2.tgz -C /opt/installs

   重命名并创建符号链接:

     mv /opt/installs/spark-3.1.2-bin-hadoop3.2 /opt/installs/spark-yarnln -s /opt/installs/spark-yarn /opt/installs/spark

2. 配置环境变量:
    在 `/etc/profile` 或用户主目录下的 `.bashrc` 文件中添加:

     export SPARK_HOME=/opt/installs/sparkexport PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin

   执行 `source /etc/profile` 或 `source ~/.bashrc` 使环境变量生效。

三、配置 Spark
1. 修改 `spark-env.sh` 配置文件:
    进入 Spark 配置目录:

 cd /opt/installs/spark/conf

   复制模板文件并编辑:

     cp spark-env.sh.template spark-env.shvim spark-env.sh

   添加以下内容:

     export JAVA_HOME=/opt/installs/jdkexport HADOOP_CONF_DIR=/opt/installs/hadoop/etc/hadoopexport YARN_CONF_DIR=/opt/installs/hadoop/etc/hadoopexport SPARK_DAEMON_MEMORY=1gexport SPARK_HISTORY_OPTS="-Dspark.history.fs.logDirectory=hdfs://master:9820/spark/eventLogs -Dspark.history.fs.cleaner.enabled=true"

   其中 `master` 是 NameNode 的主机名。
2. 修改 `spark-defaults.conf` 文件:
    复制模板文件并编辑:

     cp spark-defaults.conf.template spark-defaults.confvim spark-defaults.conf

   添加以下内容:

    spark.eventLog.enabled truespark.eventLog.dir hdfs://master:9820/spark/eventLogsspark.eventLog.compress truespark.yarn.historyServer.address master:18080spark.yarn.jars hdfs://master:9820/spark/jars/*

3. 修改 `log4j.properties` 文件:
   复制模板文件并编辑:

cp log4j.properties.template log4j.properties

   修改日志级别为 `WARN`:

  log4j.rootCategory=WARN, console

4. 上传 Spark JAR 包到 HDFS:

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

四、配置 YARN
1. 修改 `yarn-site.xml` 文件:
    编辑 Hadoop 的 `yarn-site.xml` 文件:

vim /opt/installs/hadoop/etc/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>

2. 分发配置文件:
   使用工具(如 `xsync.sh`)将修改后的 `yarn-site.xml` 文件分发到集群的其他节点。

五、启动集群
1. 启动 Hadoop 集群:

   start-dfs.shstart-yarn.sh

2. 启动 Spark 的 History Server:

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

六、测试集群
1. 提交测试作业:
   使用 Spark Shell 测试:

spark-shell --master yarn

    在 Spark Shell 中运行示例代码,如计算 PI 值:

     spark.sparkContext.setLogLevel("WARN")val count = spark.sparkContext.parallelize(1 to 1000000, 10).map{i =>val x = Math.random()val y = Math.random()if (x*x + y*y < 1) 1 else 0}.reduce(_ + _)println(s"Pi is roughly ${4.0 * count / 1000000}")

2. 查看 YARN Web UI:
   访问 `http://master:8088`,查看作业运行情况。

通过以上步骤,即可成功搭建并运行 Spark on YARN 模式的集群。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词