我正在构建一个Ansible配方来部署mesos/marathon集群(https://github.com/gridpocket/ansible-mesos-cluster)。
一旦一切都设置好了,mesos和马拉松ui就会启动,但是我有两个问题:
从mesos界面中,我看不到任何注册的slave
同样的用户界面也会显示"当前没有主车在领先…"
设置如下:
- 3个mesos master(192.168.1.191, 192, 193):每个运行mesos-master, zookeeper, marathon
- 3个mesos slave(192.168.1.194, 195,196):每个运行mesos-slave, docker
在每个slave中:
/etc/mesos/zk:
zk://192.168.1.191:2181,192.168.1.192:2181,192.168.1.193:2181/mesos
<标题>大师配置每个主机:
/etc/mesos/zk:
zk://192.168.1.191:2181,192.168.1.192:2181,192.168.1.193:2181/mesos
/etc/mesos-master/quorum:
2
/etc/mesos-master/hostname and /etc/mesos-master/ip
IP_OF_THE_MASTER
我是否在配置中遗漏了什么?
编辑
我重新构建了整个集群并更正了zookeeper配置(dataDir)。现在,
- mesos主接口正在工作,指示主节点
-马拉松UI正在工作
在从属机器上,mesos-slave进程在我启动时立即停止。
mesos-slave日志对这个问题不是很详细:
Log file created at: 2015/07/09 15:51:15
Running on machine: vagrant-ubuntu-trusty-64
Log line format: [IWEF]mmdd hh:mm:ss.uuuuuu threadid file:line] msg
I0709 15:51:15.487542 8133 logging.cpp:172] INFO level logging started!
I0709 15:51:15.488011 8133 main.cpp:156] Build: 2015-05-05 06:15:50 by root
I0709 15:51:15.488081 8133 main.cpp:158] Version: 0.22.1
I0709 15:51:15.488137 8133 main.cpp:161] Git tag: 0.22.1
I0709 15:51:15.488190 8133 main.cpp:165] Git SHA: d6309f92a7f9af3ab61a878403e3d9c284ea87e0
编辑2
当我手动启动slave时,指示zk字符串,slave正确启动:
sudo /usr/sbin/mesos-slave --master=zk://192.168.1.191:2181,192.168.1.192:2181,192.168.1.193:2181/mesos
但是"sudo service mesos-slave start"不启用启动slave。
编辑3
我已经将ansible playbook中的状态从"latest"更改为"present":
- name: install mesos + zookeeper
apt: name=mesos state=present
- name: install marathon
apt: name=marathon state=present
现在很好,从机在mesos UI中显示为激活状态。
是因为版本问题吗?
标题>标题>任何Mesos命令行参数都可以设置为像/etc/mesos-slave/master
(用于mesos-slave --master
)这样的文件。这是服务启动查找Mesos参数的方式。
您也可以使用/etc/default/mesos-slave/
(或-master/
)作为环境变量,或使用/etc/mesos/
作为一般参数。
当我在安装mesos时使用Ansible剧本中的"present"状态而不是"latest"状态时,slave可以在mesos UI中被激活。
- name: install mesos + zookeeper
apt: name=mesos state=present
- name: install marathon
apt: name=marathon state=present