asadmin list-instances cluster glassfish

时间:2017-01-08 13:13:05

标签: glassfish glassfish-3 payara

当我运行此命令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

谢谢。

2 个答案:

答案 0 :(得分:2)

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

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

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

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

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

答案 1 :(得分:1)

尝试以下方法:

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

这应该使您的实例与DAS重新同步。

如果这没有帮助,您可以尝试以下方法:

asadmin list-instances --long=true

这应详细列出失败的命令。您可以通过SSH连接到特定实例并手动执行命令,这应该应用挂起的更改。您可能必须在事后重新启动实例,以使它们与DAS同步状态。

另见: