0

设置完所有的 Mesos Master、Slave、ZooKeeper、Marathon。 一旦它在 Mesos-Master 上运行并且完成的任务状态已完成,
我点击了绿色按钮“创建应用程序” 。 我在哪里可以得到 json 文件?从哪个文件夹??


4

1 回答 1

2

目前还不清楚您指的是什么 JSON,因此我将回答您想要描述应用程序本身的 JSON (1)(由 Marathon 使用)的情况以及您希望检索一些 JSON 的情况应用程序运行后的输出 (2)。

1) 如果您要获取应用程序定义 JSON

您可以从 Marathon REST API 轻松获取描述 Marathon 应用程序的 JSON,但只能在应用程序仍在运行时获取。

例如,让我创建一个长时间运行 sleep 命令的测试应用程序: 创建测试应用程序

部署并运行后,Marathon UI 如下所示: 运行应用程序的马拉松 UI

我们可以转到<marathon-ip>/v2/apps 端点来查看正在运行的应用程序的完整列表(这些端点的完整文档可在Marathon 文档站点上找到): 应用端点

或者,转到<marathon-ip>/v2/apps/<app-id>端点(在本例中<app-id>为 test-app)将只显示正在运行的应用程序的 JSON,虽然更深入,但也包含任务信息: 应用程序/应用程序 ID 端点

2) 如果您正在寻找刚刚运行的应用程序任务的输出

任务是应用程序的单独实例化,因此如果您告诉 Marathon 运行 10 个应用程序实例,这将显示为 10 个 Mesos 任务。

Mesos 为每个正在运行的任务和一定数量的已完成任务(我认为最多 1,000 个已完成任务)存储标准输出和标准错误。您可以通过转到 Mesos Web 控制台并单击相关任务旁边的“沙盒”链接来查看这些内容。使用此答案第一部分中的示例,我们在这里看到一个当前正在运行的任务,旁边有一个沙盒链接: 运行任务

单击 Sandbox 链接将我们带到此页面,该页面链接到任务的 stderr 和 stdout 输出: 运行任务沙箱

该任务创建的任何其他工作文件也将显示在此处。因此,例如,如果您的应用程序正在生成输出文件,则可以通过此接口访问它们。

单击 stdout 链接会显示我们 sleep 应用程序的以下 stdout 输出: 运行任务标准输出

(请注意,Mesos 命令行界面还提供了一种非常简单且开发人员友好的方式来访问单个任务沙箱的 stdout、stderr 和内容。)

希望这可以帮助 :)。

于 2015-02-03T00:46:45.397 回答