我最近在研究分布式计算,发现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/