繁体   English   中英

OpenStack VM的公共IP上的Mesos

[英]Mesos on OpenStack VM's Public IP

我有一个通过OpenStack部署的4个CentOS 7.1 VM的安装程序。 他们有一个公共IP地址和一个私有IP地址。 主机不知道公共IP,所以如果我运行

ifconfig -a

我只得到主机的私有IP地址。

现在,我想使用mesosphere软件包部署Mesos 23.0,首先,我使用以下选项部署Master:

--cluster="my-cluster" --hostname="<Public-IP>" --log_dir="/var/log/mesos"  --port="5050" --zk="zk://127.0.0.1:2181/mesos" --quorum="1"

其余选项为默认值。

使用以下选项部署从站:

--log_dir=/var/log/mesos --containerizers=docker,mesos --executor_registration_timeout=5mins --hostname=<Public IP> --master=<Master Public IP>:5050

从属服务器已添加到集群,但是它们直接进入“停用”状态,因此我无法在集群上运行任何框架。 我可以在5051上从主服务器对从属服务器执行telnet 。此外,我还尝试添加--ip=<public IP> ,这将导致绑定到错误:

Failed to initialize: Failed to bind on <Public IP>:5051: Cannot assign requested address: Cannot assign requested address [99]

因为从站不知道它是公共IP。 而mesos-slave会默认监听0.0.0.0

netstat -ltnp | grep ':5051'
tcp        0      0 0.0.0.0:5051            0.0.0.0:*               LISTEN      764/mesos-slave

当我查看来自mesos-master的日志文件时,我可以看到从属使用自己的私有IP来通告自己。

Slave 20150805-161215-1059104960-5050-715-S1136 at slave(1)@<private IP>:5051 (<Public IP>) disconnected
Disconnecting slave 20150805-161215-1059104960-5050-715-S1136 at slave(1)@<private IP>:5051 (<Public IP>)
Deactivating slave 20150805-161215-1059104960-5050-715-S1136 at slave(1)@<private IP>:5051 (<Public IP>)

由于虚拟机无法在专用网络中通信,因此将无法正常工作。 我是否必须允许VM通过其专用IP进行通信,或者如何使群集正常工作?

谢谢!

我通过通过ifconfig添加公共IP解决了我的问题。 也许有更好的解决方案?

现在,我们决定允许虚拟机之间通过专用IP进行通信,这也解决了该问题。

如果无法绑定到NIC,则可以使用“ --advertise_ip”选项来分配浮动IP。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM