asadmin list-instances cluster glassfish

1.2k views Asked by At

When i run this command asadmin list-instances i get this result, someone have an ideas what does this mean?

[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.

I know that i have two instances of my cluster and not running, but i mean this lines here:

[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; ]

I checked this file /opt/glassfish3/glassfish/domains/D/applications/__internal and i removed all the files but i get the same result.

And how can i empty all this to get a clear message like this :

I1   not running
I2   not running

Thank you.

2

There are 2 answers

1
OndroMih On BEST ANSWER

The message means that you did some configuration changes for the instances via domain admin server (DAS), but the instances have not been started since then. That means that the remote instances don't know about those configuration changes and will trigger synchronization from the DAS to apply changes when started. Until they can connect to the DAS, those changes will not be applied.

In your case it seems that you have deployed 3 EARs, and you specified either to deploy them on all targets, or the deploy targets include the 2 instances. Therefore the EARs will be deployed to both instances once the config is synchronized (after you start the instances).

Files in applications/__internal are the files of the EAR applications, removing them only corrupts the applications, but doesn't undeploy them. Undeploy would be triggered only if you deployed the applications by dropping the to the autodeploy directory, but not if you deploy using asadmin or admin console. If you open config/domain.xml file, you should still be able to see references to all the 3 applications somewhere, even after you deleted the application files.

In order to hide the messages in list-instances, you should properly undeploy all the 3 applications to remove them from the configuration, or at least remove both instances from their deployment targets, so that they only remain deployed on the DAS (but that is probably not what you want usually).

If you want the application to be deployed on the instances, you need to start the instances to synchronize the configuration with the DAS.

2
unwichtich On

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: