我一直在按照本教程尝试从他们的设置中设置单节点中间层集群 官方教程:
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://本地主机: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
答案 0 :(得分: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主/ IP
要进行其他问题排查,请尝试从mesos master运行wget http://localhost:5050
(或curl -L
),以验证它是否在本地可见。同时尝试wget http://<public_ip>:5050
验证Web服务器已启动并为公共IP提供服务。根据(EC2?)节点的设置方式,您可能需要公开/转发端口,或连接到VPN。
答案 1 :(得分:0)
谢谢亚当。我运行了wget和curl命令,实际上没有任何东西在端口8080或5050上侦听。我确实在ec2中打开了这些端口。然而,一次简单的重启就可以了,一旦我在重新启动后进入ec2实例,两个mesos和marathon都在运行,两个端口现在都在我运行后显示
netstat -ntln.