本地DC/OS无法访问求助:Vagrant部署环境GUI及CLI异常
解决Vagrant部署DC/OS重启Mac后无法访问GUI及CLI报错问题
这种重启Mac后DC/OS虚拟机连不上的问题我碰到过好几次,别着急,咱们一步步排查解决:
1. 先确认虚拟机状态与基础连通性
首先得确保你的DC/OS虚拟机真的正常跑起来了:
- 打开终端执行
vagrant status,看看对应虚拟机的状态是不是running。如果显示poweroff或者其他状态,先执行vagrant up启动它。 - 接着试试能不能ping通m1.dcos:
ping m1.dcos。如果ping不通,大概率是本地DNS解析出问题了,直接跳到第3点处理。 - 如果能ping通但还是访问不了目标URL,用curl看看具体错误:
curl http://m1.dcos/mesos/master/state.json,比如是连接超时还是被拒绝,这能帮我们定位是服务没起来还是网络不通。
2. 检查虚拟机内DC/OS服务是否完全启动
虚拟机启动了不代表DC/OS的所有服务都初始化完成了:
- 先登录到虚拟机:
vagrant ssh m1(如果你的master节点名字不是m1,换成你自己的) - 查看Mesos master服务状态:
systemctl status dcos-mesos-master,看输出里是不是显示active (running)。如果是failed或者inactive,尝试重启服务:sudo systemctl restart dcos-mesos-master,然后等个3-5分钟再检查状态。 - 要是想实时看启动日志找问题,执行
journalctl -u dcos-mesos-master -f,看看有没有端口占用、配置文件错误这类报错信息。
3. 修复本地DNS解析失效问题
Mac重启后,Vagrant自动配置的hosts条目经常会丢:
- 先检查本地hosts文件:
cat /etc/hosts,找有没有类似192.168.65.10 m1.dcos的行(IP地址根据你的Vagrant配置会不一样)。 - 如果找不到这个条目,先获取虚拟机的IP:
vagrant ssh m1 -c "ip addr show eth0",找到inet后面的那个IP(比如192.168.33.10)。 - 然后编辑hosts文件:
sudo nano /etc/hosts,在文件末尾加上一行[刚才拿到的虚拟机IP] m1.dcos,按Ctrl+O保存,回车确认,再按Ctrl+X退出。 - 最后刷新Mac的DNS缓存:
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder,之后再试试访问GUI和执行dcos service。
4. 重置Vagrant虚拟机网络配置
要是前面的方法都不管用,可能是虚拟机的网络栈出问题了:
- 先暂停虚拟机:
vagrant halt m1 - 重新启动并重新执行provision脚本:
vagrant up --provision m1,这个命令会重新配置虚拟机的网络和DC/OS相关设置,修复可能的配置损坏。 - 等虚拟机完全启动后,再测试GUI和CLI命令。
5. 验证DC/OS CLI的配置是否正确
有时候CLI的配置会因为IP变化或者重启失效:
- 查看当前CLI的配置:
dcos config show core.dcos_url,确认是不是http://m1.dcos。如果不是,重新设置:dcos config set core.dcos_url http://m1.dcos。 - 也可以尝试重新登录CLI:
dcos auth login,按照提示完成登录流程后,再执行dcos service试试。
内容的提问来源于stack exchange,提问作者Nitin Saxena
相关产品推荐
相关产品推荐

