Jenkins Mesos Marathon如何处理应用程序数据持久性?

Jenkins Mesos Marathon如何处理应用程序数据持久性?,jenkins,mesos,application-restart,mesosphere,marathon,Jenkins,Mesos,Application Restart,Mesosphere,Marathon,我一直在探索Mesos,马拉松框架来部署应用程序。我怀疑当应用程序被终止时,Marathon如何处理应用程序文件 例如,我们正在使用Jenkins,它是通过Marathon运行的,如果Jenkins服务器出现故障,它将通过Marathon重新启动,但这次定义的旧作业将丢失 现在我的问题是,如何确保如果应用程序重新启动,这些旧的应用程序作业应该可用 谢谢。到目前为止,mesos/marathon在支持无状态应用程序方面非常出色,但对有状态应用程序的支持正在增加。 默认情况下,任务数据写入沙箱,因此

我一直在探索Mesos,马拉松框架来部署应用程序。我怀疑当应用程序被终止时,Marathon如何处理应用程序文件

例如,我们正在使用Jenkins,它是通过Marathon运行的,如果Jenkins服务器出现故障,它将通过Marathon重新启动,但这次定义的旧作业将丢失

现在我的问题是,如何确保如果应用程序重新启动,这些旧的应用程序作业应该可用


谢谢。

到目前为止,mesos/marathon在支持无状态应用程序方面非常出色,但对有状态应用程序的支持正在增加。 默认情况下,任务数据写入沙箱,因此在任务失败/重新启动时将丢失。请注意,通常只有一小部分任务失败(例如,只有失败节点上的任务)

现在让我们看看不同的故障场景

  • 从从属进程故障中恢复: 当只有Mesos从进程失败(或升级)时,框架可用于重新连接到正在运行的执行器

  • 执行器故障(例如Jenkins流程故障): 在这种情况下,框架可以将自己的元数据持久化到某些持久性介质上,并使用它来重新启动。请注意,这是高度特定于应用程序的,因此mesos/marathon无法提供一种通用的方法来实现这一点(实际上,我不确定jenkins的情况会是什么样子)。持久数据可以写入HDFS、Cassandra,也可以查看