hadoop-yarn - 如何让 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 应用程序?那可能吗?如果是这样,该怎么做?
解决方案
推荐阅读
- objective-c - 在 Xcode Interface Builder 中移动项目文件
- c++ - 修改 WSARecv 数据
- python - 如何使散景 DataTable 响应 DoubleTap
- c# - 如何将对象从我的 $http.get 传递给我的 c# API?
- html - 孩子隐藏在父母之外,显示:inline-blox 和溢出:自动
- keras - 一维 CNN 输入形状和训练数据形状
- php - 如何修复 pecl 在 debian buster 中安装 XML 错误 PHP 5.6?
- java - 如何使用 Jackson Streaming API 创建对象数组
- javascript - 使用 Django 从数据库加载图像的用户前端选择
- http - HTTP Keep Alive 会减少 TLS 连接吗?