是否可以使用HADOOP YARN运行任何应用程序或程序?

问题描述 投票:0回答:2

我最近正在研究分布式计算,发现Hadoop Yarn是其中之一。因此,以为如果我仅建立Hadoop Yarn集群,那么每个应用程序都将以分布式方式运行。

但是现在有人告诉我,HADOOP Yarn本身不能做任何事情,需要mapreduce,spark和hbase等其他内容。

如果这是正确的,那是否意味着只能使用Yarn运行有限的任务?还是可以将Yarn的分布式计算应用于我想要的所有应用程序?

apache-spark hadoop yarn
2个回答
1
投票

Hadoop是指整个系统的名称。

HDFS是实际的存储系统。可以将其视为S3或分布式Linux文件系统。

YARN是用于调度作业和分配资源的框架。它可以为您处理这些事情,但是您与它的互动并不多。

SparkMapReduce由Yarn管理。使用这两个,您实际上可以编写代码/应用程序并将工作交给集群。

HBase使用HDFS存储(具有基于文件的功能,并提供NoSql存储。)>

从理论上讲,您不仅可以在Yarn上运行Spark和MapReduce,还可以使用Yarn之外的其他方式(Kubernetes正在使用或现在受支持)。您甚至可以编写自己的处理工具,队列/资源管理系统,存储... Hadoop取决于您的情况,您可以使用或不使用很多部件。但是大多数Hadoop系统使用Yarn和Spark。

例如,如果要部署Docker容器,则最好使用Kubernetes集群。如果您需要使用Spark进行批处理/实时处理,请使用Hadoop。


0
投票

YARN确实可以做任何事情,因为运行任务的节点本身能够运行该作业。例如,您必须先安装该脚本的依赖项才能分发Python库。它是一般资源管理器,与Mesos大致相同。

© www.soinside.com 2019 - 2024. All rights reserved.