java.io.IOException:无法绑定到主机[VM_IP1]上的端口[7003]

时间:2015-04-16 09:02:01

标签: cloudify

我有两个运行cloudify-manager-1(使用VM_IP1)和cloudify-manager-2(使用VM_IP2)的虚拟机。

几天后,虚拟机出现故障。进入cloudify-manager-1的“2015-04-16~10.33-gigaspaces-esm_3-VM_IP1-20855.log”日志文件,我可以看到以下链接报告的错误:

2015-04-16~10.33-gigaspaces-esm_3-VM_IP1-20855.log

此外,我可以通过cloudify shell连接到cloudify-manager-1,我得到以下错误:

cloudify@default> connect 212.189.205.246

Failed to locate a lookup service in the cloud endpoint with discovery groups:[localcloud] and locators:[jini://VM_IP1:4174/, jini://VM_IP2:4174/] 
Operation failed.

如果我尝试连接到cloudify-manager-2,它可以正常工作

cloudify@default> connect VM_IP2
Connected successfully

有人可以帮助我了解问题所在吗?

2 个答案:

答案 0 :(得分:0)

“虚拟机停机”的含义并不完全清楚。 ESM错误日志表示此ESM实例尝试启动但端口已打开(7003)已在使用中。

这可能表明在同一台机器上运行了一个较旧的ESM实例,并且它在某种程度上被卡住了。这会导致Cloudify尝试启动一个新代理,假设旧代理已经死了,但旧代理仍然保持所需的端口。尝试检查在同一台机器上运行的另一个ESM实例(或者用于保存端口的任何进程)。

至于CLI错误,似乎其中一个虚拟机(VM_1)遇到某种通信问题 - 它无法找到cloudify管理器的其他服务。 Manager VM_2似乎正在运行,并且仍然可以找到正在运行的服务(应该在两个管理器上都可用)。

请注意Cloudify 2已达到使用寿命。您可能想要查看Cloudify 3。

答案 1 :(得分:0)

前几天,我只运行了以下命令来重启Cloudify进程并保存应用程序状态:

cloudify@default> shutdown-managers -timeout 10 --verbose

cloudify@default> bootstrap-cloud --verbose -use-existing <openstack-cloud-driver-name>

为了解决ESM的错误,我执行了:

    cloudify-manager VM中的
  • ssh
  • 查杀所有java进程(由pgrep java返回)
  • /root/gigaspaces/tools/cli/cloudify.sh
  • cloudify@default> start-management -timeout 30 --verbose -cloud-file /root/gs-files/<openstack-cloud-driver-name>.groovy

现在,cloudify-managers正在运行,之前部署的应用程序也可以工作。