1

我正在构建一个 Ansible 配方来部署 mesos/marathon 集群(https://github.com/gridpocket/ansible-mesos-cluster)。

一旦一切都设置好了,mesos 和 marathon ui 就启动了,但我有两个问题:
- 从 mesos ui 我看不到任何已注册
的奴隶 - 相同的 ui 还指示“目前没有主人领先......”

设置如下:
- 3 个 mesos master (192.168.1.191, 192, 193):每个运行 mesos-master, zookeeper, marathon
- 3 个 mesos slave (192.168.1.194, 195, 196):每个运行 mesos-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 主界面正在工作并指示主节点
- marathon 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 中将状态从“最新”更改为“当前”:

- name: install mesos + zookeeper
  apt: name=mesos state=present

- name: install marathon
  apt: name=marathon state=present

现在很好,从属设备在 mesos UI 中显示为激活状态。

是不是因为版本问题?

4

2 回答 2

2

任何 Mesos 命令行参数都可以设置为像/etc/mesos-slave/master(for mesos-slave --master) 这样的文件。这就是服务启动找到 Mesos 参数的方式。

您还可以将/etc/default/mesos-slave/(或-master/) 用于环境变量或/etc/mesos/一般参数。

于 2015-07-09T18:57:39.427 回答
-1

当我在安装 mesos 时使用 Ansible playbook 中的“当前”状态而不是“最新”状态时,可以看到从设备在 mesos UI 中被激活。

- name: install mesos + zookeeper
  apt: name=mesos state=present

- name: install marathon
  apt: name=marathon state=present
于 2015-07-11T14:40:57.107 回答