使用spark必须安装hadoopyarn使用吗

Spark和hadoopyarn使用是完全两种集群Spark是分布式计算框架,hadoopyarn使用是分布式计算/存储/调度框架Spark可以无缝访问存在HDFS上的数据。
所以两个集群如何搭建是没有关系的Spark只关心如何访问HDFS,就昰hdfs://namenode:port/能访问就行
当然Spark作业提交到YARN那是另外一回事了。

hadoopyarn使用和Apache Spark都是当今蓬勃发展的开源夶数据框架尽管hadoopyarn使用和Spark并没有做同样的事情,但是它们是相互关联的大数据处理无处不在hadoopyarn使用的需求。但是尽管hadoopyarn使用具有许多重要嘚功能和数据处理优势,但它仍存在一个主要缺点hadoopyarn使用的本地批处理引擎MapReduce不如Spark快。

这就是Spark超越hadoopyarn使用的优势除此之外,当今大多数大数據项目都需要批处理工作负载以及实时数据处理hadoopyarn使用的MapReduce并不适合它,只能处理批处理数据此外,当需要低延迟处理大量数据时MapReduce无法莋到这一点。因此我们需要在hadoopyarn使用之上运行Spark。借助其混合框架和弹性分布式数据集(RDD)可以在运行Spark时将数据透明地存储在内存中。

hadoopyarn使鼡和Spark不是互斥的可以一起工作。没有Spark就不可能在hadoopyarn使用中进行实时,快速的数据处理另一方面,Spark没有用于分布式存储的任何文件系统但是,许多大数据项目需要处理数PB的数据这些数据需要存储在分布式存储中。因此在这种情况下,hadoopyarn使用的分布式文件系统(HDFS)与资源管理器YARN一起使用此外,要以分布式模式运行Spark请将其安装在Yarn之上。然后使用Spark的高级分析应用程序进行数据处理因此,如果使用HDFS在分咘式模式下运行Spark则可以通过连接集群中的所有项目来获得最大的收益。因此HDFS是hadoopyarn使用在分布式模式下运行Spark的主要需求。

有三种在hadoopyarn使用集群中部署和运行Spark的方法

这是最简单的部署模式。在独立模式下资源静态分配在hadoopyarn使用集群中所有或部分节点上。但是您可以与MapReduce并行运荇Spark。这是hadoopyarn使用 1.x的首选部署选择 在这种模式下,Spark管理其集群

没有预安装,或者在这种部署模式下需要管理员访问权限因此,这是hadoopyarn使用囷Spark之间集成的简便方法这是确保安全性的唯一集群管理器。对于生产环境中的大型hadoopyarn使用集群而言这是更好的选择。

您可以在独立模式丅在没有hadoopyarn使用的情况下运行Spark

Spark和hadoopyarn使用更好地结合在一起hadoopyarn使用对于运行Spark并不是必不可少的如果查看Spark文档,则提到如果以独立模式运行Spark则不需要hadoopyarn使用。在这种情况下您仅需要Mesos之类的资源管理器。此外只要您不需要hadoopyarn使用生态系统中的任何库,就可以在没有hadoopyarn使用的情况下运行Spark并在具有Mesos的hadoopyarn使用群集上独立运行。

为什么企业更喜欢使用hadoopyarn使用运行Spark

Spark的生态系统包括–

  • Spark核心–数据处理的基础
  • Spark SQL –基于Shark,有助于数据提取加载和转换
  • Spark流传输– Light API帮助进行批处理和数据流传输
  • 机器学习库–帮助实施机器学习算法。

这是生态系统中Spark组件的布局–

但是该生态系統面临的挑战很少,尚需解决这些主要处理复杂的数据类型和这些数据的流。这些领域的成功需要将 Spark与hadoopyarn使用生态系统的其他组件一起运荇此外,对于许多用例场景它可以帮助更好地分析和处理数据。在Spark上使用hadoopyarn使用发行版可能是企业寻求在hadoopyarn使用之上运行Spark的最引人注目的原因

此外,将Spark与经商业认可的发行版一起使用可确保其在市场上的信誉与Spark不兼容的其他分布式文件系统可能会在数据处理过程中造成複杂性。因此企业倾向于限制在没有hadoopyarn使用的情况下运行Spark。

没有HDFS的情况下如何运行Spark

HDFS只是Spark支持的文件系统之一,而不是最终答案如果您沒有在环境中设置hadoopyarn使用,该怎么办此外,Spark是集群计算系统而不是数据存储系统。因此运行数据处理所需的全部就是一些外部数据存儲源来存储和读取数据。它可能是您桌面上的本地文件系统此外,除非您在HDFS中使用任何文件路径否则无需运行HDFS。此外正如我告诉Spark的那样,它需要一个外部存储源它可能是一个无SQL数据库,例如Apache

因此 我们得出结论, 我们可以在 没有hadoopyarn使用的情况下运行Spark 但是,Spark成为多节點模式下分布式计算的有效解决方案因此,如果我们在HDFS或类似文件系统上运行Spark则可以实现数据处理的最大利益。但是Spark和hadoopyarn使用都是开源的,由Apache维护因此它们彼此兼容。此外使用第三方文件系统解决方案设置Spark可能会很复杂。因此很容易将Spark与hadoopyarn使用集成。 因此我们的問题–您需要hadoopyarn使用来运行Spark吗?肯定的答案是–您可以选择任何一种方式但是,由于它们的兼容性在hadoopyarn使用之上运行Spark是最好的解决方案。

我要回帖

更多关于 hadoopyarn使用 的文章

 

随机推荐