Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache zookeeper Mesos群集在使用复制的\u日志时无法选择主服务器 测试环境:AWS上的多节点mesos 0.27.2群集(3个主节点,2个从节点,仲裁=2) 使用zkCli.sh测试了持久性,效果良好 如果我用--registry=in_memory启动主机,它工作正常,选择了主机,我可以通过Marathon启动任务 如果使用默认值(--registry=replicated\u log),集群将无法选择主节点:_Apache Zookeeper_Mesos_Mesosphere_Marathon - Fatal编程技术网

Apache zookeeper Mesos群集在使用复制的\u日志时无法选择主服务器 测试环境:AWS上的多节点mesos 0.27.2群集(3个主节点,2个从节点,仲裁=2) 使用zkCli.sh测试了持久性,效果良好 如果我用--registry=in_memory启动主机,它工作正常,选择了主机,我可以通过Marathon启动任务 如果使用默认值(--registry=replicated\u log),集群将无法选择主节点:

Apache zookeeper Mesos群集在使用复制的\u日志时无法选择主服务器 测试环境:AWS上的多节点mesos 0.27.2群集(3个主节点,2个从节点,仲裁=2) 使用zkCli.sh测试了持久性,效果良好 如果我用--registry=in_memory启动主机,它工作正常,选择了主机,我可以通过Marathon启动任务 如果使用默认值(--registry=replicated\u log),集群将无法选择主节点:,apache-zookeeper,mesos,mesosphere,marathon,Apache Zookeeper,Mesos,Mesosphere,Marathon,编辑:显然问题出在防火墙上。将允许所有类型的规则应用于我的所有安全组,现在我有了一个稳定的主控。一旦我弄清楚是什么阻碍了交流,我会把它贴在这里。首先,让我简单地澄清一下旗帜对后代的意义--注册表不影响领导人选举,它指定注册表的持久性策略(Mesos跟踪应通过故障切换携带的数据)。内存中的值不应在生产中使用,它甚至可能在将来被删除 领队选举由动物园管理员进行。根据您的日志,您使用以下zookeeper集群:zk://10.1.69.172:2181,10.1.9.139:2181,10.1.79.


编辑
:显然问题出在防火墙上。将允许所有类型的规则应用于我的所有安全组,现在我有了一个稳定的主控。一旦我弄清楚是什么阻碍了交流,我会把它贴在这里。

首先,让我简单地澄清一下旗帜对后代的意义<代码>--注册表不影响领导人选举,它指定注册表的持久性策略(Mesos跟踪应通过故障切换携带的数据)。内存中的
值不应在生产中使用,它甚至可能在将来被删除

领队选举由动物园管理员进行。根据您的日志,您使用以下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

发现mesos主机也在5050上启动与其他主机的连接。将出口规则添加到主机的安全组后,集群稳定,主机选举按预期进行


更新:适用于那些试图在mesos/zk/的各个组件之间建立内部防火墙的人不要这样做。更好的方法是设计安全性,就像在中间层的

(最后一个问题)中那样,master可能重新启动并给自己一个新的masterId。这就是为什么相同的IP:port可能有不同的masterid。谢谢@rukletsov。实际上,登记册不应该影响领导人选举。我发现奇怪的是,使用相同的设置和
内存中的持久性,集群成功地选择了一个
稳定的
主机。我重新创建了集群,下面是日志:@mitelone,根据您的日志,问题似乎在于仲裁和复制的日志副本之间的同步。在我解释原因之前,你能帮我做个测试吗?请您同时启动所有主机(不要像日志中那样延迟4秒),或将其置于一名主管(如monit)之下,并告诉我问题是否仍然存在?谢谢@rukletsov已经与一名主管进行了测试,其表现也一样。由于它在节点之间没有防火墙,我想这是一个通信问题。奇怪的是,因为我非常小心地使用了所有标准端口,我发现这些端口是为主端口、从端口、zk和marathon记录的。@rukletsov这里是防火墙规则的要点是,日志副本与主端口生活在同一操作系统进程中,并使用主端口使用的同一套接字(TCP on 5050)相互通信。