在使用mesos+marathon来作为容器调度的时候,当其中的marathon leader退出后,marathon重新选择leader,当此时,新的leader在mesos Frameworks中依旧是Inactive Frameworks
, marathon的故障转移在mesos没有生效;
通过查看mesos中的WARN级别日志:
WX20170614-143655@2x.png
可以看出,mesos去连接marathon scheduler的IP为127.0.0.1
, 由于为集群部署,marathon leader不与mesos master在同一台;
解决方法:
在marathon启动的时候,加上export LIBPROCESS_IP=10.10.10.1
;
LIBPROCESS_IP
这个参数定义了marathon services的监听端口,默认为127.0.0.1
;
WX20170614-155213@2x.png