mesos群集在使用复制的日志时无法选择主服务器

dojqjjoe  于 2021-06-26  发布在  Mesos
关注(0)|答案(2)|浏览(423)

测试环境: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 :很明显问题出在防火墙上。对我的所有安全组应用了允许所有类型的规则,现在我有了一个稳定的主控。一旦我弄清楚是什么阻碍了通讯,我会把它贴在这里。

6qqygrtg

6qqygrtg1#

首先,让我简单地阐明国旗对后人的意义。 --registry 不影响领导人选举,它指定了注册表的持久性策略(mesos跟踪应该通过故障转移携带的数据)。这个 in_memory 价值不应该被用于生产,它甚至可能在将来被移除。
领导人选举由Zookeeper进行。根据您的日志,您使用以下zookeeper群集: zk://10.1.69.172:2181,10.1.9.139:2181,10.1.79.211:2181/mesos .
现在,从您的日志来看,集群并没有失败选择主节点,它实际上失败了两次:

I0313 18:35:28.257139  3253 master.cpp:1710] The newly elected leader is master@10.1.69.172:5050 with id edd3e4a7-ede8-44fe-b24c-67a8790e2b79
...
I0313 18:35:36.074087  3257 master.cpp:1710] The newly elected leader is master@10.1.9.139:5050 with id c4fd7c4d-e3ce-4ac3-9d8a-28c841dca7f5

我说不清为什么领导人两次当选,因为我还需要另外两位大师的日志。根据你的日志,最后当选的主人 10.1.9.139:5050 ,它很可能不是您提供日志的来源。
我在日志中看到的一件可疑的事情是,同一ip:端口的主id不同。你知道为什么吗?

I0313 18:35:28.237251  3244 master.cpp:374] Master 24ecdfff-2c97-4de8-8b9c-dcea91115809 (10.1.69.172) started on 10.1.69.172:5050
...
I0313 18:35:28.257139  3253 master.cpp:1710] The newly elected leader is master@10.1.69.172:5050 with id edd3e4a7-ede8-44fe-b24c-67a8790e2b79
zmeyuzjn

zmeyuzjn2#

发现mesos主机也会启动与5050上其他主机的连接。在主安全组中加入出口规则后,集群是稳定的,主选举按预期进行。防火墙规则
更新:对于那些试图在mesos/zk/的各个组件之间构建内部防火墙的人别这么做。更好地设计安全性,如在中间层的dcos

相关问题