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

但是现在有人告诉我,HADOOP Yarn本身不能做任何事情,需要mapreduce,spark和hbase之类的其他东西。

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

最佳答案

Hadoop 是指整个系统的名称。

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

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

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

HBase 使用HDFS存储(基于文件)并提供NoSql存储。

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

例如,如果要部署Docker容器,则仅Kubernetes集群是一个更好的选择。如果需要使用Spark进行批处理/实时处理,请使用Hadoop。

关于apache-spark - 是否可以使用HADOOP YARN运行任何应用程序或程序?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/60071346/

10-16 03:09