我有以下两个问题:
1)DC / OS服务只是马拉松应用吗? (或者:DC / OS服务(如Cassandra)和通过Marathon安装的Cassandra应用程序之间有什么区别?)
2)扩展:像Cassandra这样的DC / OS服务是否会自动扩展到集群中的所有可用节点(给定足够的工作负载)?
感谢您的帮助:)
答案 0 :(得分:4)
1)为了回答你问题的第一部分,让我添加另一个概念:DC / OS包,所以我们有DC / OS包与DC / OS服务vs马拉松应用。
a)DC / OS服务与Marathon App 它们是相同的,长期服务将通过马拉松自动保持运行。例如,在创建新的DC / OS服务时可以看到这一点,您可以使用马拉松应用程序定义。
b)DC / OS包(我相信你问题的核心)
dcos package install cassandra
将部署DC / OS Apache Cassandra软件包。
Cassandra package的有趣部分是scheduler,这是一个管理Cassandra集群的软件(例如,通过引导集群或自动重启失败的任务),还提供用于扩展,升级的端点。 ..
如果您需要,它是您的Cassandra集群的管理员的自动版本。
现在我们还必须确保此管理器始终可用(即,如果管理员/调度程序任务/节点发生故障,会发生什么?)。 这就是Marathon部署调度程序的原因,因此它将自动重启。
Marathon
|
Cassandra Scheduler
|
Cassandra Cluster
2)问题的第二部分:自动缩放
该软件包提供了扩展的端点,因此典型的模式是提供一个脚本(例如,marathon-autoscale)来扩展cassandra集群。您需要自己的脚本的原因是缩放对每个用户来说都是非常个性化的,特别是缩小。 请记住,您正在扩展持久性服务,那么如何选择要删除的节点?您是否首先从该节点排出流量?您是否将数据迁移到其他节点?