Mesos bind error : Cannot assign requested address [99]

Mesos bind error : Cannot assign requested address [99]

我正在尝试 运行 两台机器上的 Mesos 集群。一个是我租用的服务器(我们称它为 S1),另一个是 运行ning 在我家的机器(S2). Mesos 从站和主站 运行 在 Docker 个容器中。

首先,我运行进入这个错误:https://github.com/mesos/chronos/issues/193。 我遵循了 post 中的建议(通过设置 LIBPROCESS_IPMESOS_IP)。添加这些环境变量之一会导致此错误:

F0512 08:48:55.437530     1 process.cpp:889] Failed to initialize: Failed to bind on <ip>:<port>: Cannot assign requested address: Cannot assign requested address [99]

我认为这是因为 Docker 容器 ip 地址是 172.17.0.1 而不是 S1 或 S2 的 ip。我在 docker 运行 命令中添加了 --net=host。它修复了 S1 上的错误,但没有修复 S2 上的错误。

我认为是因为 S2 在我的网络中有一个本地 IP (192.168.0.16),而 mesos 无法绑定到我的路由器 IP。

有没有办法让 Mesos 使用这个配置,或者我需要一台有自己 IP 地址的机器吗?

虽然这似乎不是一个理想的配置,但您可能会成功地在路由器上添加端口转发(例如端口 5050 和 5051)并在启动时使用 --advertise_ip 命令行标志master/slave 在你家的机器上。

IP address advertised to reach this Mesos master/slave. The master/slave does not bind to this IP address. However, this IP address may be used to access this master/slave.