测试环境:aws上的多节点mesos 0.27.2群集(3 x主设备,2 x从设备,仲裁=2)。
用zkcli.sh测试了持久性,效果很好。
如果我先用 --registry=in_memory
,效果不错,选了硕士,我可以通过马拉松开始任务。
如果我使用默认值( --registry=replicated_log
)群集无法选择主服务器:
https://gist.github.com/mitel/67acd44408f4d51af192 EDIT
:很明显问题出在防火墙上。对我的所有安全组应用了允许所有类型的规则,现在我有了一个稳定的主控。一旦我弄清楚是什么阻碍了通讯,我会把它贴在这里。
2条答案
按热度按时间6qqygrtg1#
首先,让我简单地阐明国旗对后人的意义。
--registry
不影响领导人选举,它指定了注册表的持久性策略(mesos跟踪应该通过故障转移携带的数据)。这个in_memory
价值不应该被用于生产,它甚至可能在将来被移除。领导人选举由Zookeeper进行。根据您的日志,您使用以下zookeeper群集:
zk://10.1.69.172:2181,10.1.9.139:2181,10.1.79.211:2181/mesos
.现在,从您的日志来看,集群并没有失败选择主节点,它实际上失败了两次:
我说不清为什么领导人两次当选,因为我还需要另外两位大师的日志。根据你的日志,最后当选的主人
10.1.9.139:5050
,它很可能不是您提供日志的来源。我在日志中看到的一件可疑的事情是,同一ip:端口的主id不同。你知道为什么吗?
zmeyuzjn2#
发现mesos主机也会启动与5050上其他主机的连接。在主安全组中加入出口规则后,集群是稳定的,主选举按预期进行。防火墙规则
更新:对于那些试图在mesos/zk/的各个组件之间构建内部防火墙的人别这么做。更好地设计安全性,如在中间层的dcos