前段时间我在办公网搭建了一套mesos平台,用于docker 集群相关的调研和测试,mesos + marathon + docker 架构运行正常。但是在启用了chronos后,marathon无法再部署新的app。
查看 http://master1:5050/#/frameworks,发现 chronos 把所有资源都占用了。判断是此原因造成 marathon 无法部署新app。
通过查询参考文档,我按照如下设置把系统资源按比例分配给marathon和chronos,之后marathon又恢复正常了。
注:我的mesos、marathon、chronos都是用mesosphere的yum源安装的。
1. 为mesos框架设置role
echo "chronos" > /etc/chronos/conf/mesos_role
echo 'MARATHON_MESOS_ROLE="marathon"' > /etc/sysconfig/marathon
echo "marathon,chronos" > /etc/mesos-master/roles
2. 设置资源使用比例
echo "marathon=10,chronos=1" > /etc/mesos-master/weights
注:我把marathon和chronos的资源使用比例设置为10:1
3. 重启marathon、chronos、mesos-master服务
如有问题,可尝试删除/var/lib/mesos/*,然后重启服务器