-2

当我运行这个命令时asadmin list-instances,我得到了这个结果,有人知道这是什么意思?

[glassfish@mydas]$ asadmin list-instances
I1   not running [pending config changes are: _deploy /opt/glassfish3/glassfish/domains/D/applications/__internal/admin-ear/admin-ear-13308077918078249404.0.ear; _deploy /opt/glassfish3/glassfish/domains/D/applications/__internal/comptabilite-ear/comptabilite-ear-12940026351961817647.0.ear; _deploy /opt/glassfish3/glassfish/domains/D/applications/__internal/comptabilite-ear/comptabilite-ear-11974752653489746292.0.ear; ]
I2   not running [pending config changes are: _deploy /opt/glassfish3/glassfish/domains/D/applications/__internal/admin-ear/admin-ear-13308077918078249404.0.ear; _deploy /opt/glassfish3/glassfish/domains/D/applications/__internal/comptabilite-ear/comptabilite-ear-12940026351961817647.0.ear; _deploy /opt/glassfish3/glassfish/domains/D/applications/__internal/comptabilite-ear/comptabilite-ear-11974752653489746292.0.ear; ]
Command list-instances executed successfully.

我知道我的集群有两个实例并且没有运行,但我的意思是这里的这行:

[待定配置更改为:_deploy /opt/glassfish3/glassfish/domains/D/applications/__internal/admin-ear/admin-ear-13308077918078249404.0.ear;_deploy /opt/glassfish3/glassfish/domains/D/applications/__internal/comptabilite-ear/comptabilite-ear-12940026351961817647.0.ear;_deploy /opt/glassfish3/glassfish/domains/D/applications/__internal/comptabilite-ear/comptabilite-ear-11974752653489746292.0.ear;]

我检查了这个文件/opt/glassfish3/glassfish/domains/D/applications/__internal并删除了所有文件,但得到了相同的结果。

我怎样才能清空所有这些以获得这样的明确信息:

I1   not running
I2   not running

谢谢你。

4

2 回答 2

2

该消息意味着您通过域管理服务器 (DAS) 对实例进行了一些配置更改,但从那时起实例尚未启动。这意味着远程实例不知道这些配置更改,并且将触发来自 DAS 的同步以在启动时应用更改。在他们可以连接到 DAS 之前,不会应用这些更改。

在您的情况下,您似乎已经部署了 3 个 EAR,并且您指定将它们部署在所有目标上,或者部署目标包括 2 个实例。因此,一旦配置同步(在您启动实例之后),EAR 将部署到两个实例。

applications/__internal的文件是 EAR 应用程序的文件,删除它们只会破坏应用程序,但不会取消部署它们。仅当您通过将应用程序拖放到 autodeploy 目录来部署应用程序时才会触发取消部署,但如果您使用 asadmin 或管理控制台进行部署则不会。如果您打开config/domain.xml文件,即使您删除了应用程序文件,您仍然应该能够在某处看到对所有 3 个应用程序的引用。

为了隐藏消息list-instances您应该正确地取消部署所有 3 个应用程序以将它们从配置中删除,或者至少从它们的部署目标中删除这两个实例,以便它们仅保持部署在 DAS 上(但这可能不是你通常想要)。

如果您希望将应用程序部署在实例上,则需要启动实例以将配置与 DAS 同步。

于 2017-01-09T08:53:07.353 回答
1

Try the following:

asadmin start-instance --sync full I1
asadmin start-instance --sync full I2

This should resynchronize your instances with the DAS.

If this doesn't help you can try the following:

asadmin list-instances --long=true

This should list the failed commands in detail. You can connect to the specific instances via SSH and execute the commands manually, this should apply the pending changes. You may have to restart the instances afterwards to make them synchronize the status with the DAS.

See also:

于 2017-01-08T23:12:59.147 回答