Spark Standalone:
在这种模式下,我意识到您在本地计算机上运行主节点和工作节点 .
这是否意味着您在我的本地计算机上运行了YARN的实例?从我安装Spark开始,它就带有Hadoop,而且通常YARN也会随Hadoop一起提供正确的?在这种模式下,我基本上可以模拟一个较小版本的完整集群 .
Spark Local Mode:
这是我也很困惑的部分 . 要在此模式下运行,我执行 val conf = new SparkConf().setMaster("local[2]")
.
在这种模式下,它不使用任何类型的资源管理器(如YARN)正确吗?就像它只是在您提供给 "local[2]"\
的线程数中运行Spark Job?
1 回答
您对Hadoop YARN和Spark感到困惑 .
随着YARN的推出,Hadoop已经开放在平台上运行其他应用程序 .
Apache Spark
为了运行火花,它需要资源 . 在独立模式下,您可以启动工作程序,Spark主持人和持久层可以是任何一个--HDFS,FileSystem,cassandra等 . 在YARN模式下,您要求YARN-Hadoop集群管理资源分配和簿记 .
当您使用master作为
local[2]
时,您请求Spark使用2个核心并在同一个JVM中运行驱动程序和工作程序 . 在本地模式下,所有与spark作业相关的任务都在同一JVM中运行 .因此,独立模式和本地模式之间的唯一区别在于,在Standalone中,您为工作人员定义“容器”,并在您的计算机中运行spark master(因此您可以拥有2个工作人员,并且您的任务可以在这两个工作人员的JVM中分发?)但在本地模式下,您只需在本地计算机的同一JVM中运行所有内容 .