我正在尝试学习YARN。但我遇到了一个障碍。我有一些问题。
-
对于每个应用程序,每个数据节点都必须有一个容器。 但是,这些容器是在运行应用程序时自行创建的,还是我们需要创建它们?
-
在 docker 中,您可以访问容器,这些容器本身充当单独的计算机。我们可以以类似的方式访问容器吗?
-
在 docker 中,容器无法看到容器外部,并且表现为自己的系统,因此它具有容器进程 ID,并且从主机上它也具有进程 ID。换句话说,容器与其他进程隔离。在YARN中也有类似的概念吗?
提前谢谢!! :)
YARN不是你想象的那样。它不是用于启动 docker 容器。YARN用于启动分布式应用程序(Spark,MapReduce等)。
-
您无法在 YARN 中"安装"应用。您可以在 YARN 中"运行"应用程序。
-
容器是一个 YARN 抽象,用于指定分布式应用程序的每个进程都将使用 YARN 分配给它的有限资源执行。您无法访问容器,因为它只是一个 Java 进程。
-
正如我之前提到的,YARN中的容器是一个普通的Linux进程。您可以通过执行类似"ps"的内容来查看其 pid。