当前位置:  开发笔记 > 开发工具 > 正文

什么条件导致马拉松领袖选举?

如何解决《什么条件导致马拉松领袖选举?》经验,为你挑选了1个好方法。

我正在使用Mesos和Marathon来管理应用程序部署,并在Marathon https://github.com/mesosphere/marathon/issues/3783中遇到了这个错误,也就是说部署期间的领导者选举会扩展实例领导选举经常发生(大约每30分钟一次),所以我经常会遇到这个问题.

我知道每30分钟一次是非常不规律的,因为我已经升级到Marathon 1.3.10并且过去2天没有选举,但是多久一次是"正常"?领导人退位/选举是否在正常情况下发生,或者除非存在潜在问题,否则我应该期待0次选举?一位同事向我建议"领导人选举是正常的","一定数量的选举是正常的,也是可以预期的".我只是不相信,并且想肯定地知道.



1> janisz..:

如果您的Marathon每30分钟重新选择一次,这是不正常的.在正常情况下,马拉松不应该放弃或重新选择新的领导者,直到维护发生(更新或重启).虽然如果发生这种情况,可能是由4个主要问题引起的(所有结果都是超时):

    马拉松的表现 - 当马拉松有性能问题时,其中一个症状是失去领导能力.这是因为Marathon在给定的时间间隔内没有响应Zookeeper并被标记为已消失.

    Marathon Zookeeper连接问题 - 当网络延迟太高时(例如,Zookeeper群集位于与Marathon不同的DC中),则某些更新可能会超时.这将导致失去领导力.

    Zookeeper的表现 - 当Zookeeper需要做很多工作时,会超时一些请求,导致Marathon失去领导力.

    马拉松被迫退位 DELETE /v2/leader

要解决性能问题,请按照此处描述的步骤操作

    打碎你的马拉松.

    监控 - 启用指标但请记住配置它们.

    更新至1.3.10或更高版本.

    最小化Zookeeper通信延迟和对象大小.

    调整JVM - 添加更多堆和CPU :).

    不要使用事件总线 - 如果确实需要,请使用过滤后的SSE,并接受它是异步的,事件最多只传递一次.

    如果需要任务生命周期事件,请使用自定义执行程序.

    首选批量部署到许多单独的部署.

推荐阅读
LEEstarmmmmm
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有