无法通过教程运行 Mesos:设置单节点 Mesosphere 集群
Unable to get Mesos to run from tutorial: Setting up a Single Node Mesosphere Cluster
我一直在按照本教程尝试从他们的教程中设置单节点中间层集群
官方教程:
http://mesosphere.com/docs/getting-started/developer/single-node-install/
我按照所有命令没有任何问题,我还将端口 5050 和 8080 添加到我的安全组。当我尝试访问 mesos/marathon 的控制台时,我收到一条 "Internet Explorer cannot display the webpage" 消息。
他们还建议通过以下方式进行检查:
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文件的内容,好像是默认值。
$猫/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
Mesos 使用 gethostbyname2
将主机名解析为 IP。我建议的第一件事是尝试 "ping localhost" 和 "ping hostname
",并验证 /etc/hosts
中没有奇怪的设置。如果你正在做一个多节点集群,我建议 hostname
映射到 public 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
验证网络服务器是否已启动并为 public IP 提供服务。根据您的(EC2?)节点的设置方式,您可能需要 expose/forward 端口或连接到 VPN。
谢谢亚当。我 运行 wget 和 curl 命令,实际上没有在端口 8080 或 5050 上监听。我确实在 ec2 中打开了这些端口。一个简单的重启就可以了,但是,一旦我在重启后通过 ssh 进入 ec2 实例,mesos 和 marathon 都是 运行 并且两个端口现在都在我 运行
之后显示
netstat -ntln.
我一直在按照本教程尝试从他们的教程中设置单节点中间层集群 官方教程:
http://mesosphere.com/docs/getting-started/developer/single-node-install/
我按照所有命令没有任何问题,我还将端口 5050 和 8080 添加到我的安全组。当我尝试访问 mesos/marathon 的控制台时,我收到一条 "Internet Explorer cannot display the webpage" 消息。
他们还建议通过以下方式进行检查:
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文件的内容,好像是默认值。
$猫/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
Mesos 使用 gethostbyname2
将主机名解析为 IP。我建议的第一件事是尝试 "ping localhost" 和 "ping hostname
",并验证 /etc/hosts
中没有奇怪的设置。如果你正在做一个多节点集群,我建议 hostname
映射到 public 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
验证网络服务器是否已启动并为 public IP 提供服务。根据您的(EC2?)节点的设置方式,您可能需要 expose/forward 端口或连接到 VPN。
谢谢亚当。我 运行 wget 和 curl 命令,实际上没有在端口 8080 或 5050 上监听。我确实在 ec2 中打开了这些端口。一个简单的重启就可以了,但是,一旦我在重启后通过 ssh 进入 ec2 实例,mesos 和 marathon 都是 运行 并且两个端口现在都在我 运行
之后显示netstat -ntln.