使用Spark Local模式时运行了多少个JVM?

时间:2018-01-21 00:39:11

标签: apache-spark

新手在这里,但到目前为止真的很喜欢Spark。

我做了以下操作(使用笔记本电脑,运行Windows 7):

  1. 使用命令提示符窗口启动主服务器:

    spark-class org.apache.spark.deploy.master.Master

  2. 键入以下内容启动一名工作人员:

    spark-class org.apache.spark.deploy.worker.Worker spark://localhost:7077

  3. 重复步骤2,换句话说,使用相同的上述命令启动另一个工作人员。

  4. 现在,我在同一台物理机器上有一个主人,两个工人,全部。基于我一直在阅读的内容,这应该被视为“local mode”......对此不确定,希望有人能确认一下吗?

    另外,根据我的阅读,local mode应该在一个 SINGLE JVM中拥有主人和工作人员。但是通过运行一个小的实用程序代码,我可以看到master在一个JVM中,并且两个worker分别驻留在一个JVM中,因此有三个JVM,它们是不同的JVM。

    有人可以告诉我哪个部分我做错了,或者,我的理解有什么问题?

    另外,对于这个local model,没有集群管理器,对吧?

    非常感谢!

2 个答案:

答案 0 :(得分:4)

本地模式是单个JVM。本地模式是指通过--master命令行开关指定master作为local [*]。这可以通过spark-submit或spark-shell来完成。

This解释得非常好。

答案 1 :(得分:2)

  

现在,我有一个主人,两个工人,都在同一台物理机器上。基于我一直在阅读的内容,这应该被视为“本地模式”......对此不确定,希望有人能确认一下吗?

不是。它是standalone mode,您可以在Spark中拥有自己的集群管理器。与local不同,它是完全分布式的。它将使用:

  • 对于集群管理器:

    • 每个群集主服务器的单个JVM(在您的情况下为一个,在HA模式下更多)。
    • 每个已启动工作人员的单个JVM。
    • 可选择为历史服务器或随机服务等服务提供其他JVM。
  • 申请:

    • 驱动程序的单个JVM。
    • 每个执行者的单个JVM。

在本地模式下,只有一个JVM,stated已经Greg