Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/23.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从机未连接到mesos主群集_Apache Zookeeper_Mesos_Mesosphere_Marathon - Fatal编程技术网

Apache zookeeper mesos从机未连接到mesos主群集

Apache zookeeper mesos从机未连接到mesos主群集,apache-zookeeper,mesos,mesosphere,marathon,Apache Zookeeper,Mesos,Mesosphere,Marathon,我有一个设置,我使用3个mesos masters和3个mesos Slave。在完成所有必需的配置后,我可以看到3个mesos主机是由动物园管理员维护的集群的一部分 现在,我已经设置了3个mesos从站,当我启动mesos从站服务时,我希望mesos从站将可用于mesos masters web UI页面。但我在“奴隶”选项卡上看不到任何一个 selinux、防火墙、iptalbes都已禁用。能够在节点之间执行ssh [cloud-user@slave1 ~]$ sudo systemctl

我有一个设置,我使用3个mesos masters和3个mesos Slave。在完成所有必需的配置后,我可以看到3个mesos主机是由动物园管理员维护的集群的一部分

现在,我已经设置了3个mesos从站,当我启动mesos从站服务时,我希望mesos从站将可用于mesos masters web UI页面。但我在“奴隶”选项卡上看不到任何一个

selinux、防火墙、iptalbes都已禁用。能够在节点之间执行ssh

[cloud-user@slave1 ~]$ sudo systemctl status mesos-slave -l
   mesos-slave.service - Mesos Slave
   Loaded: loaded (/usr/lib/systemd/system/mesos-slave.service; enabled)
   Active: active (running) since Sat 2016-01-16 16:11:55 UTC; 3s ago
   Main PID: 2483 (mesos-slave)
   CGroup: /system.slice/mesos-slave.service
           ├─2483 /usr/sbin/mesos-slave --master=zk://10.0.0.2:2181,10.0.0.6:2181,10.0.0.7:2181/mesos --log_dir=/var/log/mesos --containerizers=docker,mesos --executor_registration_timeout=5mins
           ├─2493 logger -p user.info -t mesos-slave[2483]
           └─2494 logger -p user.err -t mesos-slave[2483]

Jan 16 16:11:55 slave1.novalocal mesos-slave[2494]: I0116 16:11:55.628670  2497 detector.cpp:482] A new leading master (UPID=master@127.0.0.1:5050) is detected
Jan 16 16:11:55 slave1.novalocal mesos-slave[2494]: I0116 16:11:55.628732  2497 slave.cpp:729] New master detected at master@127.0.0.1:5050
Jan 16 16:11:55 slave1.novalocal mesos-slave[2494]: I0116 16:11:55.628825  2497 slave.cpp:754] No credentials provided. Attempting to register without authentication
Jan 16 16:11:55 slave1.novalocal mesos-slave[2494]: I0116 16:11:55.628844  2497 slave.cpp:765] Detecting new master
Jan 16 16:11:55 slave1.novalocal mesos-slave[2494]: I0116 16:11:55.628872  2497 status_update_manager.cpp:176] Pausing sending status updates
Jan 16 16:11:55 slave1.novalocal mesos-slave[2494]: E0116 16:11:55.628922  2503 process.cpp:1911] Failed to shutdown socket with fd 11: Transport endpoint is not connected
Jan 16 16:11:55 slave1.novalocal mesos-slave[2494]: I0116 16:11:55.629093  2502 slave.cpp:3215] master@127.0.0.1:5050 exited
Jan 16 16:11:55 slave1.novalocal mesos-slave[2494]: W0116 16:11:55.629107  2502 slave.cpp:3218] Master disconnected! Waiting for a new master to be elected
Jan 16 16:11:55 slave1.novalocal mesos-slave[2494]: E0116 16:11:55.983531  2503 process.cpp:1911] Failed to shutdown socket with fd 11: Transport endpoint is not connected
Jan 16 16:11:57 slave1.novalocal mesos-slave[2494]: E0116 16:11:57.465049  2503 process.cpp:1911] Failed to shutdown socket with fd 11: Transport endpoint is not connected

因此,问题在于:

Jan 16 16:11:55 slave1.novalocal mesos-slave[2494]: I0116 16:11:55.629093  2502 slave.cpp:3215] master@127.0.0.1:5050 exited
具体地说,请注意,它检测到主机的IP地址为127.0.0.1。Mesos代理[1]看到该IP地址,并尝试连接,但连接失败(主机与代理不在同一台机器上运行)

这是因为主机将其认为的IP地址通知Zookeeper。在您的例子中,主机认为它的IP是127.0.0.1,然后将其存储到zk中。Mesos有几个配置标志来控制此行为,主要是
--hostname
--no-hostname\u lookup
--ip
--ip\u discovery\u command
,并通过设置环境变量LIBPROCESS\u ip。请参阅以了解有关它们的详细信息以及它们的作用

要确保一切顺利进行,最好的办法是确保机器具有可解析的主机名。Mesos对主机名进行反向DNS查找,以确定人们将从哪个IP地址与之联系

如果您无法正确设置主机名,我建议您手动设置
--hostname
--ip
,这将使mesos准确地宣布您想要的内容


[1] mesos奴隶已被重命名为代理,请参见:

这正是我自己写的:-)感谢Firebird,问题已经解决,我尝试了几种方法。只有--ip有效。我必须从ifconfig解析ip,这很麻烦。有没有办法使主机名解析在Vagrant中正确完成?但是,使用--ip会导致控制台由于某些原因而不加载您需要Vagrant中的每个框都有来自其他框的完全可解析的主机名,以便在不设置--ip和--hostname的情况下使多节点Vagrant正常工作。特别是,机器需要能够使用DNS查找自己的主机名并返回记录。其他每台机器都必须能够查找该主机名并返回完全相同的记录。