【问题标题】:Write a YARN application for a Non-JVM application为非 JVM 应用程序编写 YARN 应用程序
【发布时间】:2015-10-27 09:17:19
【问题描述】:

假设我想使用 yarn 集群来运行非 JVM 分布式应用程序(例如基于 .Net。这是个好主意吗?)。从我目前阅读的内容来看,我需要开发一个YARN application,其中包含

  • 一个 YARN 客户端,用于将作业提交到 yarn 框架
  • 一个 YARN ApplicationMaster,它是在集群中编排应用程序的核心。

这两个部分似乎需要使用 Yarn API 编写,这些 API 作为 Jar 库提供。这意味着它们必须使用其中一种 JVM 语言编写。似乎可以使用 REST API 编写 YARN 客户端,对吗?如果是,则意味着客户端可以使用任何语言编写(例如 .Net 上的 C#)。但是对于application master来说,好像不是这样,必须要使用JVM。对吗?

我是 YARN 的新手。只是想确认一下我的理解是否正确。

【问题讨论】:

    标签: hadoop-yarn


    【解决方案1】:

    YARN Client 和 AppMaster 需要用 Java 编写,因为它们是写入 YARN Java API 的。 RESTful API,https://hadoop.apache.org/docs/current/hadoop-yarn/hadoop-yarn-site/WebServicesIntro.html,实际上是提供您可以从 CLI 执行的命令。

    幸运的是,您的“容器”流程几乎可以用任何东西创建。 http://hortonworks.com/blog/apache-hadoop-yarn-concepts-and-applications/ 用下面的引言说得最好:

    “这允许 ApplicationMaster 与 NodeManager 一起启动容器,从简单的 shell 脚本到 Unix/Windows 上的 C/Java/Python 进程再到成熟的虚拟机(例如 KVM)。”

    也就是说,如果您尝试引入已经是某种分布式应用程序的非 Java 应用程序(甚至是 Java 应用程序!),那么 Slider 框架 http://slider.incubator.apache.org/ 可能是您的最佳起点.

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-04-25
      • 1970-01-01
      • 2012-07-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多