欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > 名人名企 > 如何搭建spark yarn模式的集群

如何搭建spark yarn模式的集群

2025/5/1 10:29:47 来源:https://blog.csdn.net/2401_83378805/article/details/147594308  浏览:    关键词:如何搭建spark yarn模式的集群

Spark 在 YARN 上的运行机制

在 YARN 上运行 Spark 时,不需要单独部署 Spark 集群。YARN 本身作为资源调度框架,负责对内部运行的计算框架进行资源调度管理。Spark 作为计算框架,直接运行在 YARN 中,并接受 YARN 的资源调度。在这种设置中,YARN 的 ResourceManager 充当 Master 角色,而 NodeManager 充当 Worker 角色。Spark 的 Driver 可以运行在 YARN 容器内或提交任务的客户端进程中,而实际执行任务的 Executor 运行在 YARN 提供的容器内。

配置 Spark 在 YARN 环境中的运行

要在 YARN 上运行 Spark,需要配置 spark-env.sh 文件,确保 HADOOP_CONF_DIR 和 YARN_CONF_DIR 指向正确的 Hadoop 配置文件目录。这样,Spark 就能够读取 HDFS 上的文件并在 YARN 集群中运行。

连接到 YARN

可以通过以下命令使用不同的 Spark 工具连接到 YARN:

  • PySparkbin/pyspark --master yarn --deploy-mode client|cluster

  • Spark Shellbin/spark-shell --master yarn --deploy-mode client|cluster

  • Spark Submitbin/spark-submit --master yarn --deploy-mode client|cluster /path/to/app.py args

注意,交互式环境如 PySpark 和 Spark Shell 无法运行在 cluster 模式。

部署模式

在 YARN 上运行 Spark 时,可以选择以下两种部署模式:

  • Client 模式: 在这种模式下,Driver 运行在客户端机器上,这通常用于学习和测试环境。Driver 与集群的通信成本较高,但输出结果会在客户端显示。

  • Cluster 模式: 在这种模式下,Driver 运行在 YARN 集群中的一个容器内,通常用于生产环境。这种模式下,Driver 与集群的通信成本较低,但输出结果不会在客户端显示。如果 Driver 出现问题,YARN 会重启 ApplicationMaster(Driver)。

测试部署模式

可以通过运行圆周率 PI 程序来测试不同的部署模式。例如,使用 client 模式运行 PI 程序的命令如下:

bin/spark-submit --master yarn --deploy-mode client --driver-memory 512m --executor-memory 512m --num-executors 2 --total-executor-cores 2 /path/to/pi.py 10

而在 cluster 模式下,命令如下:

bin/spark-submit --master yarn --deploy-mode cluster --driver-memory 512m --executor-memory 512m --num-executors 2 --total-executor-cores 2 /path/to/pi.py 10

在 client 模式下,日志会随客户端的标准输出流输出,而在 cluster 模式下,客户端不会有日志信息和结果输出。

版权声明:

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

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

热搜词