gpt4 book ai didi

hadoop - 在 yarn 上运行 spark 时我们应该使用哪种模式?

转载 作者:可可西里 更新时间:2023-11-01 14:44:28 26 4
gpt4 key购买 nike

我知道在 yarn 集群上运行 spark 应用程序时有两种模式。

yarn-cluster 模式下,驱动程序在 Application Master 中运行(在 YARN 集群内)。在yarn-client模式下,运行在提交作业的client节点

我想知道使用一种模式相对于另一种模式有哪些优势?什么情况下应该使用哪种模式。

最佳答案

有两种部署模式可用于在 YARN 上启动 Spark 应用程序。

Yarn-cluster:Spark 驱动程序作为 YARN Application Master 在 Hadoop 集群中运行,并在 YARN 容器中启动 Spark 执行器。这使得 Spark 应用程序可以在 Hadoop 集群中运行,并与仅用于作业提交的工作台完全解耦。一个例子:

[terminal~]:cd $SPARK_HOME
[terminal~]:./bin/spark-submit --class org.apache.spark.examples.SparkPi --master yarn
–deploy-mode cluster --num-executors 3 --driver-memory 1g --executor-memory
2g --executor-cores 1 --queue thequeue $SPARK_HOME/examples/target/spark-examples_*-1.2.1.jar

请注意,在上面的示例中,–queue 选项用于指定将应用程序提交到的 Hadoop 队列。

Yarn-client:Spark 驱动程序在工作台本身上运行,Application Master 以简化的角色运行。它只从 YARN 请求资源以确保 Spark worker 驻留在 YARN 容器内的 Hadoop 集群中。这提供了一个具有分布式操作的交互式环境。下面是在这种模式下调用 Spark 并确保它选择 Hadoop LZO 编解码器的示例:

[terminal~]:cd $SPARK_HOME
[terminal~]:bin/spark-shell --master yarn --deploy-mode client --queue research
--driver-memory 512M --driver-class-path /opt/hadoop/share/hadoop/mapreduce/lib/hadoop-lzo-0.4.18-201409171947.jar

因此,当您需要为您的工作提供交互式环境时,您应该使用客户端模式。 yarn-client 模式接受来自 spark-shell 的命令。

当你想将你的工作与 Spark 工作台解耦时,使用 Yarn 集群模式。

关于hadoop - 在 yarn 上运行 spark 时我们应该使用哪种模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37090828/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com