gpt4 book ai didi

java - 在没有 Docker 的情况下在 Mesos 上运行 Java 应用程序

转载 作者:行者123 更新时间:2023-11-30 08:02:58 24 4
gpt4 key购买 nike

我只是弄清楚 Mesos 并在一个 vagrant 节点上测试它。在检查 mesos 的过程中,我的工作遇到了此处发布的 Docker 问题中的 JVM 内存泄漏 -> https://github.com/docker/docker/issues/15020

我想知道是否有一些提示或示例可以让我们在 Mesos 上测试容器化,以查看内存问题是否特定于 Docker Containerizers。到目前为止,大多数示例都是针对马拉松式运行 docker 的,但在非 docker Mesos 上的其他示例并不多。

  1. 我需要编写自己的 Mesos JVM Containerizer 隔离器吗?
  2. containerizer 是否只解析作业细节并执行脚本?
  3. 我能否将 .war 和作业包传递给 Mesos 容器化程序并让它运行我的 Java 应用程序?
  4. 大型 github 项目中是否有任何简单示例或特定代码可以说明这一点?

我的工作是决定我们是否应该在没有容器化的情况下部署我们的 Java 应用程序,或者更改容器化解决方案是否有助于解决问题。

我可以查看有关如何在 Mesos Containerizers 上设置 Tomcat JVM 应用程序的任何提示或文档链接吗?我仍在学习 mesos 的工作原理,所以任何东西都有帮助!

最佳答案

所以让我退后一步:您不在 Mesos 上运行 Java 应用程序,而是在其框架之一上运行它,例如 Marathon(用于长时间运行的任务,例如网络服务器)或 Chronos(用于计划的批作业)。将 Mesos 视为分布式操作系统的 Linux 内核,这可能会有所帮助。

回到你的问题,除非你打算 write your own framework (例如 tobilg/mesos-js-framework ),以下假设您使用 Marathon 启动 Tomcat(因为它是一个长时间运行的任务)。

与大多数框架一样,Marathon 不承担繁重的工作,it leverages Mesos 核心功能如 Fetcher提取必要的资源 execute an app进入 Mesos Agent 上的沙箱。通过 uris,您可以指定 Marathon(通过 Mesos Fetcher)下载的 URL 列表,并且根据文件扩展名,还可以在启动通过 cmd< 的内容指定的应用程序之前提取这些 URL/.

关于java - 在没有 Docker 的情况下在 Mesos 上运行 Java 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36510813/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com