2

我一直在按照本教程尝试从他们的官方教程中设置一个单节点中间层集群:

http://mesosphere.com/docs/getting-started/developer/single-node-install/

我按照所有命令没有任何问题,并且我还将端口 5050 和 8080 添加到我的安全组中。当我尝试访问 mesos/marathon 的控制台时,我收到“Internet Explorer 无法显示网页”消息。

他们还建议通过以下方式进行检查:

MASTER=$(mesos-resolve `cat /etc/mesos/zk`)
mesos-execute --master=$MASTER --name="cluster-test" --command="sleep 5"

但这会出现一个错误:

WARNING: Logging before InitGoogleLogging() is written to STDERR
F0106 17:03:08.126703 20993 process.cpp:1561] Failed to initialize, gethostbyname2: Unknown host
*** Check failure stack trace: ***

我也不确定如何解决这个问题,而且我找不到很多关于如何在 ubuntu 上安装 mesos 的教程。

我检查了zk文件的内容,似乎是默认值。

$ cat /etc/mesos/zk zk://localhost:2181/mesos

我真的很感激任何关于如何去做这件事的线索。

编辑:该过程肯定也在运行 - 仅供参考:

root     31545  8.5  5.9 187464 35604 ?        Ssl  17:28   0:00 /usr/local/sbin/mesos-slave --master=zk://localhost:2181/mesos --log_dir=/var/log/mesos
root     31563 28.5  2.1 116304 12856 ?        Rs   17:28   0:00 /usr/local/sbin/mesos-master --zk=zk://localhost:2181/mesos --port=5050 --log_dir=/var/log/mesos --quorum=1 --wo
4

2 回答 2

4

Mesos 用于gethostbyname2将主机名解析为 IP。我建议的第一件事是尝试“ping localhost”和“ping hostname”,并验证/etc/hosts. 如果您正在做一个多节点集群,我建议您将其hostname映射到公共 IP 地址(不是 127.0.x.1)。

如果这没有帮助,您可以尝试在启动 mesos-master 和 mesos-slave 时设置 --ip 和 --hostname 标志,以绕过 gethostbyname2 解析。这些也可以通过写入基于文件的参数来设置,例如 /etc/mesos/mesos-master/ip

如需其他故障排除,请尝试从 mesos 主服务器运行wget http://localhost:5050(或curl -L),以验证它在本地可见。还要尝试wget http://<public_ip>:5050验证 Web 服务器是否已启动并为公共 IP 提供服务。根据您的(EC2?)节点的设置方式,您可能需要公开/转发端口,或连接到 VPN。

于 2015-01-07T09:09:27.857 回答
0

谢谢亚当。我运行了 wget 和 curl 命令,实际上并没有在端口 8080 或 5050 上进行监听。我确实在 ec2 中打开了这些端口。然而,一个简单的重启就可以了,一旦我在重启后 ssh 进入 ec2 实例,mesos 和 marathon 都在运行,并且在我运行后两个端口现在都显示了

netstat -ntln.
于 2015-01-07T17:58:39.780 回答