首页 > 解决方案 > 如何让 apache yarn 支持新的应用类型?

问题描述

我了解到 Yarn 是一个资源管理器,可以将计算资源分配给用户应用程序。但是,到目前为止,我学习的在线教程都显示了 MapReduce 或 Spark 类应用程序的示例。我在这里找到了 Yarn 应该支持的应用程序类型列表。它在列表末尾包含一个“...”。

我的问题是 Yarn 支持什么样的应用程序。例如,如果我提交一个用 C 编写和编译的简单“hello world”怎么办?Yarn 能运行它吗?

我计划在 Yarn 集群上运行大规模的并行应用程序。我来自 MPI 世界。使用 MPI,我用 C 语言编写了一个应用程序,并使用带有参数的作业管理工具提交,以指定我想要多少内核和 RAM。我想知道 Yarn 是否可以像 MPI 那样处理这种具有大量节点的多进程/线程应用程序?

例如,我有以下 bash 脚本 - hello_host.sh

#!/bin/bash

echo "hello `hostname`"

然后我想在 Yarn 集群中的十个不同节点上并行运行 hello_host.sh 并打印它们的主机名。我可以这样做吗?我猜机会不是,因为这只是一个普通的程序,对吧?那么,有没有一种方法可以在 Yarn 中实现某种应用程序启动适配器,以便它可以识别我的并行应用程序类型并相应地分配资源?例如,让 Yarn 运行 MPI 应用程序?那可能吗?如果是这样,该怎么做?

标签: hadoop-yarn

解决方案


推荐阅读