1

我有两个运行 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

有人可以帮助我了解问题出在哪里吗?

4

2 回答 2

0

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

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

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

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

  • ssh在两个 cloudify-manager 虚拟机中
  • 杀死所有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 工作了,之前部署的应用程序也工作了。

于 2015-04-16T12:53:42.850 回答
0

它并不完全清楚你所说的“虚拟机宕机”是什么意思。ESM 错误日志表明此 ESM 实例已尝试启动,但端口已打开 (7003) 已在使用中。

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

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

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

于 2015-04-16T11:09:19.517 回答