spark对Yarn概念的理解

68de4m5k  于 2021-06-04  发布在  Hadoop
关注(0)|答案(4)|浏览(371)

我试图了解spark是如何在Yarn簇/客户机上运行的。我脑子里有一个问题。
有必要在Yarn簇的所有节点上安装spark吗?我认为应该是因为集群中的工作节点执行任务,并且应该能够解码spark应用程序中由驱动程序发送到集群的代码(sparkapi)?
文件上说“确保 HADOOP_CONF_DIR 或者 YARN_CONF_DIR 指向包含hadoop集群的(客户端)配置文件的目录”。为什么客户端节点在向集群发送作业时必须安装hadoop?

klsxnrf1

klsxnrf11#

1-如果遵循s从/主架构,则触发。因此,在集群上,必须安装一个spark master和n个spark slave。您可以在独立模式下运行spark。但是使用Yarn架构会给您带来一些好处。这里有一个很好的解释:http://blog.cloudera.com/blog/2014/05/apache-spark-resource-management-and-yarn-app-models/
2-这是必要的,如果你想使用Yarn或hdfs的例子,但正如我之前所说,你可以运行在独立模式。

lnvxswe2

lnvxswe22#

让我试着剪掉胶水,把它缩短成不耐烦的。
6个组成部分:1。客户,2。司机,3。遗嘱执行人,4。应用硕士,5。工人,6人。资源经理;2种部署方式;资源(集群)管理。
关系如下:

客户

没有什么特别的,是一个提交Spark应用程序。

工人、遗嘱执行人

没什么特别的,一个工人持有一个或多个遗嘱执行人。

主资源(群集)管理器(&R)

(无论是客户端模式还是群集模式)
在yarn中,资源管理器和主控器位于两个不同的节点上;
在单机版中,资源管理器==master,同一节点中的同一进程。

司机

在客户机模式下,与客户机坐在一起
在yarn-cluster模式下,与master一起使用(在这种情况下,客户端进程在提交应用程序后退出)
在独立集群模式下,与一个worker坐在一起
瞧à!

unhi4e5o

unhi4e5o3#

我们在Yarn上运行spark作业(我们使用hdp2.2)。
群集上没有安装spark。我们只在hdfs中添加了spark组装jar。
例如,运行pi示例:

./bin/spark-submit \
  --verbose \
  --class org.apache.spark.examples.SparkPi \
  --master yarn-cluster \
  --conf spark.yarn.jar=hdfs://master:8020/spark/spark-assembly-1.3.1-hadoop2.6.0.jar \
  --num-executors 2 \
  --driver-memory 512m \
  --executor-memory 512m \
  --executor-cores 4 \
  hdfs://master:8020/spark/spark-examples-1.3.1-hadoop2.6.0.jar 100
``` `--conf spark.yarn.jar=hdfs://master:8020/spark/spark-assembly-1.3.1-hadoop2.6.0.jar` -这张图告诉我们Yarn是从哪里来的。如果你不使用它,它会上传你运行时的jar `spark-submit` .
关于第二个问题:客户机节点不需要安装hadoop。它只需要配置文件。您可以将目录从集群复制到客户端。
vojdkbi0

vojdkbi04#

加上其他答案。
有必要在Yarn簇的所有节点上安装spark吗?
否,如果spark作业是在yarn中调度的(或者 client 或者 cluster 模式)。spark安装只需要在独立模式下的许多节点。
这些是spark应用程序部署模式的可视化。
spark独立群集

cluster 模式驱动程序将位于其中一个spark worker节点中,而 client 模式将在启动作业的机器内。
纱团模式

Yarn客户机模式

此表简要列出了这些模式之间的差异:

pics源
它在文档中说“确保hadoop\u conf\u dir或yarn\u conf\u dir指向包含hadoop集群的(客户端)配置文件的目录”。为什么客户端节点在向集群发送作业时必须安装hadoop?
hadoop安装不是强制性的,但配置(不是全部)是强制性的!。我们可以把它们称为网关节点。主要有两个原因。
中包含的配置 HADOOP_CONF_DIR 目录将被分发到yarn集群,以便应用程序使用的所有容器使用相同的配置。
在yarn模式下,resourcemanager的地址是从hadoop配置中获取的( yarn-default.xml ). 因此 --master 参数为 yarn .

更新:(2017-01-04)

spark 2.0+不再需要fat程序集jar来进行生产部署。来源

相关问题