0

@Barak 很抱歉再次打扰您。

预启动代理或cloudify异常导致代理在主机上仍然存在,此时在该主机上安装应用程序会抛出未找到文件异常。

在整个应用部署过程中,代理安装占用了一半的时间,所以,我想在所有虚拟机中预先启动代理(使用命令)。启动所有代理后,可以在gs-webui的host选项卡视图中看到,然后当我快速部署应用程序时,出现异常,部署失败。例外是:

执行入口失败:jetty_install.groovy;引起:org.cloudifysource.usm.USMException:事件生命周期外部进程退出,状态码异常:1 捕获:java.io.FileNotFoundException:/home/vagrant/gigaspaces/work/processing-units/jettyTest_jetty_1_140282317/ext/Xmx512m(/主页/vagrant/gigaspaces/工作/处理单元/jettyTest_jetty_1_140282317/ext/Xmx512m)

java.io.FileNotFoundException: /home/vagrant/gigaspaces/work/processing-units/jettyTest_jetty_1_140282317/ext/Xmx512m (/home/vagrant/gigaspaces/work/processing-units/jettyTest_jetty_1_140282317/ext/Xmx512m)

4

1 回答 1

0

Cloudify 只会使用或关闭它已启动的代理。因此,仅启动代理并将其附加到管理器是行不通的。

您将需要一个自定义云驱动程序,可能在现有的 BYON 云驱动程序上重复使用。此云驱动程序将从池中分配一台机器,启动启动代理的进程,然后将计算实例传递回 Cloudify。在云驱动返回的 MachineDetails 对象中,您应该将“agentRunning”字段设置为 true,Cloudify 将使用此代理。

为此,您需要生成所需的环境文件,以便将代理配置为与集群一起使用。您可以在此处查看示例:

https://github.com/CloudifySource/cloudify/blob/master/esc/src/main/java/org/cloudifysource/esc/driver/provisioning/privateEc2/PrivateEC2CloudifyDriver.java

上面的示例使用 CloudFormation 启动一个节点,并将所需的设置传递给它。看看这是如何在这里完成的:

https://github.com/CloudifySource/cloudify/blob/master/esc/src/main/java/org/cloudifysource/esc/driver/provisioning/privateEc2/PrivateEC2CloudifyDriver.java#L1158

于 2014-12-02T08:57:27.847 回答