首页 文章

Spark Standalone,YARN和本地模式有什么区别?

提问于
浏览
6

Spark Standalone:

在这种模式下,我意识到您在本地计算机上运行主节点和工作节点 .

这是否意味着您在我的本地计算机上运行了YARN的实例?从我安装Spark开始,它就带有Hadoop,而且通常YARN也会随Hadoop一起提供正确的?在这种模式下,我基本上可以模拟一个较小版本的完整集群 .

Spark Local Mode:

这是我也很困惑的部分 . 要在此模式下运行,我执行 val conf = new SparkConf().setMaster("local[2]") .

在这种模式下,它不使用任何类型的资源管理器(如YARN)正确吗?就像它只是在您提供给 "local[2]"\ 的线程数中运行Spark Job?

1 回答

  • 4

    您对Hadoop YARN和Spark感到困惑 .

    YARN是一种软件重写,可将MapReduce的资源管理和调度功能与数据处理组件分离,使Hadoop能够支持更多样化的处理方法和更广泛的应用程序 .

    随着YARN的推出,Hadoop已经开放在平台上运行其他应用程序 .

    简而言之,YARN是“可插拔数据并行框架” .

    Apache Spark

    Apache spark是批量交互式流式框架 . Spark有一个“可插拔的持久存储” . Spark可以与任何持久层一起运行 .

    为了运行火花,它需要资源 . 在独立模式下,您可以启动工作程序,Spark主持人和持久层可以是任何一个--HDFS,FileSystem,cassandra等 . 在YARN模式下,您要求YARN-Hadoop集群管理资源分配和簿记 .

    当您使用master作为 local[2] 时,您请求Spark使用2个核心并在同一个JVM中运行驱动程序和工作程序 . 在本地模式下,所有与spark作业相关的任务都在同一JVM中运行 .

    因此,独立模式和本地模式之间的唯一区别在于,在Standalone中,您为工作人员定义“容器”,并在您的计算机中运行spark master(因此您可以拥有2个工作人员,并且您的任务可以在这两个工作人员的JVM中分发?)但在本地模式下,您只需在本地计算机的同一JVM中运行所有内容 .

相关问题