mesos slaves 没有连接到 mesos masters 集群
mesos slaves are not connecting with mesos masters cluster
我有一个设置,我正在使用 3 个 mesos masters 和 3 个 mesos slaves。在完成所有必需的配置后,我可以看到 3 个 mesos master 是 zookeeper 维护的集群的一部分。
现在我已经设置了 3 个 mesos 从服务器,当我启动 mesos-slave 服务时,我希望 mesos 从服务器可以在 mesos 主服务器 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 Agent[1] 看到该 IP 地址,并尝试连接失败(master 与 agent 运行 不在同一台机器上)。
发生这种情况是因为主节点向 Zookeeper 宣布了它认为自己的 IP 地址。在你的情况下,主人认为它的 IP 是 127.0.0.1,然后将其存储到 zk 中。 Mesos 有几个配置标志来控制这种行为,主要是 --hostname
、--no-hostname_lookup
、--ip
、--ip_discovery_command
,以及通过设置环境变量 LIBPROCESS_IP。有关它们及其作用的详细信息,请参阅 http://mesos.apache.org/documentation/latest/configuration/。
要确保开箱即用,您可以做的最好的事情就是确保机器具有可解析的主机名。 Mesos 会 reverse-DNS 查找 boxes 的主机名,以便找出人们将通过哪个 IP 联系它。
如果您无法正确设置主机名,我建议您手动设置 --hostname
和 --ip
,这将使 mesos 准确地宣布您想要的内容。
[1]mesos slave已经重命名为agent,参见:https://issues.apache.org/jira/browse/MESOS-1478
我有一个设置,我正在使用 3 个 mesos masters 和 3 个 mesos slaves。在完成所有必需的配置后,我可以看到 3 个 mesos master 是 zookeeper 维护的集群的一部分。
现在我已经设置了 3 个 mesos 从服务器,当我启动 mesos-slave 服务时,我希望 mesos 从服务器可以在 mesos 主服务器 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 Agent[1] 看到该 IP 地址,并尝试连接失败(master 与 agent 运行 不在同一台机器上)。
发生这种情况是因为主节点向 Zookeeper 宣布了它认为自己的 IP 地址。在你的情况下,主人认为它的 IP 是 127.0.0.1,然后将其存储到 zk 中。 Mesos 有几个配置标志来控制这种行为,主要是 --hostname
、--no-hostname_lookup
、--ip
、--ip_discovery_command
,以及通过设置环境变量 LIBPROCESS_IP。有关它们及其作用的详细信息,请参阅 http://mesos.apache.org/documentation/latest/configuration/。
要确保开箱即用,您可以做的最好的事情就是确保机器具有可解析的主机名。 Mesos 会 reverse-DNS 查找 boxes 的主机名,以便找出人们将通过哪个 IP 联系它。
如果您无法正确设置主机名,我建议您手动设置 --hostname
和 --ip
,这将使 mesos 准确地宣布您想要的内容。
[1]mesos slave已经重命名为agent,参见:https://issues.apache.org/jira/browse/MESOS-1478