2016-09-10 2 views
0

Je suis en train de créer un cluster avec deux nœuds utilisant glassfish 4.1.1 build 1.
Un nœud est local, l'autre est ssh.Le nœud fonctionne comme si Je cingle ça répond ok. (Avec succès en connexion SSH au nœud node2 (gfNode2)) Je ssh de configuration, créez le nœud, créez une instance (i2) sur ce nœud, mais quand je veux démarrer l'instance que je reçois:glassfish 4.1.1 erreur de noeud ssh du cluster

i2: Impossible de démarrer l'instance i2 sur le noeud node2 (gfNode2). Échec de la commande sur le noeud node2 (gfNode2): Échec de la synchronisation précédente au 10 septembre 2016 12:25:27 PM Effectue une synchronisation complète. Suppression de tous les états mis en cache, par exemple i2. La synchronisation CLI802 a échoué pour la configuration d'annuaire, provoquée par: Échec à distance: SynchronizeFiles: demande de lecture d'exception Échec de la commande start-local-instance. Pour terminer cette opération exécutez la commande suivante localement sur l'hôte gfNode2 du GlassFish emplacement d'installation/opt/glassfish4: lib/nadmin start-instance locale --node node2 --sync i2 normale

si je lance cette commande sur la machine nœud 2 je reçois:

./nadmin start-local-instance --node node2 --sync normal i2 
Previous synchronization failed at Sep 10, 2016 12:25:27 PM 
Will perform full synchronization. 
Removing all cached state for instance i2. 
Enter admin user name> admin 
Enter admin password for user "admin"> 
CLI802 Synchronization failed for directory config, caused by: 
remote failure: SynchronizeFiles: Exception reading request 
Command start-local-instance failed. 

une idée de quoi essayer ensuite?

Mise à jour:
Le DAS est reachabe, le ssh fonctionne correctement (ping-node-ssh fonctionne depuis das). Ce que j'ai remarqué c'est que même après avoir installé (install-node-ssh) et créer avec (create-node-ssh), le node 2 n'a pas de fichiers à l'intérieur.
Dans/glassfish4/glassfish/nodes/node2/i2 il n'y a qu'un seul fichier: .syncstate qui est vide. Les répertoires node2/i2 sont là mais rien dans i2. Peut-être en raison de: Suppression de tous les états en cache, par exemple i2.

C'est ce que je suis arrivé dans les journaux DAS:

[2016-09-10T19:31:14.806+0000] [glassfish 4.1] [WARNING] []   [javax.enterprise.system.core] [tid: _ThreadID=106 _ThreadName=admin- listener(5)] [timeMillis: 1473535874806] [levelValue: 900] [[ 
    Could not start instance i2 on node node2 (gfNode2).: Command ' /opt/glassfish4/glassfish/lib/nadmin --_auxinput - --interactive=false start-local-instance --node node2 --sync normal i2' failed on node node2 (gfNode2): Previous synchronization failed at Sep 10, 2016 12:25:27 PM 
Will perform full synchronization. 
Removing all cached state for instance i2. 
Command start-local-instance failed. 
CLI802 Synchronization failed for directory config, caused by: 
    remote failure: SynchronizeFiles: Exception reading request: To complete this operation run the following command locally on host gfNode2 from the GlassFish install location /opt/glassfish4: 

lib/nadmin start-local-instance --node node2 --sync normal i2]] 

[2016-09-10T19:31:14.818+0000] [glassfish 4.1] [SEVERE] [] [org.glassfish.admingui] [tid: _ThreadID=102 _ThreadName=admin-listener(1)] [timeMillis: 1473535874818] [levelValue: 1000] [[ 
    RestResponse.getResponse() gives FAILURE. endpoint = 'https://localhost:4848/management/domain/servers/server/i2/start-instance'; attrs = '{}']] 

[2016-09-10T19:31:14.820+0000] [glassfish 4.1] [SEVERE] [] [org.glassfish.admingui] [tid: _ThreadID=102 _ThreadName=admin-listener(1)] [timeMillis: 1473535874820] [levelValue: 1000] [[ 
    Error in instanceAction ; 
endpoint=https://localhost:4848/management/domain/servers/server/i2/start-instance;attrsMap=null]] 

Si je tente d'exécuter la commande à partir node2 je suis arrivé ce qui est montré sur le premier bloc de code du poste ...

+0

Th c'est assez bizarre. Si vous pouvez installer GlassFish sur le noeud distant, cela n'a pas de sens que la synchronisation échoue comme ça ...il semble que les fichiers distants n'ont jamais été créés lors de la création de l'instance. Une synchronisation = normal ne les affecterait pas si le DAS était inaccessible, mais une sync = full les effacerait, prêt à recommencer. Il est intéressant que la dernière note dans le journal indique qu'il va à 'localhost' pour exécuter la commande. Si l'instance distante essaye de contacter le DAS en passant par localhost au lieu du nom d'hôte correct, cela l'expliquerait. – Mike

+0

Je pense que les fichiers effacés sont le résultat de l'exécution d'une synchronisation complète, à un moment donné. J'ai remarqué aussi que localhost mais je ne sais pas pourquoi il invoque comme ça .. Je vais continuer à chercher –

+0

trouvé le problème! Le problème était que mon fichier hôte sur la seconde machine (node2) était mal configuré, et par là je veux dire que gfNode1 et gfNode2 avaient la même IP, et quand l'instance essayait de se synchroniser, elle se dirigeait vers elle-même. L'erreur était due à une erreur de copier/coller :( –

Répondre

0

Le problème voici que l'instance distante i2 ne peut pas communiquer avec le DAS pour télécharger sa configuration.

Vous devez vérifier:

  • Est-ce le DAS en ligne?
  • Le serveur sur lequel le DAS est accessible par le noeud distant est-il le serveur?
  • La communication SSH fonctionne-t-elle correctement? (Utilisez la commande asadmin ping-node-ssh

Si vous ouvrez le fichier server.log pour l'instance et la DAS, qui devrait vous donner un message d'erreur plus détaillé et indiquer si oui ou non la demande atteint le DAS.

Les journaux d'instance sont situés dans:

$GLASSFISH_HOME/glassfish/nodes/node2/i2/logs/server.log 

Les journaux de domaine sont situés dans:

$GLASSFISH_HOME/glassfish/domains/domain1/logs/server.log  
+0

J'ai mis à jour la réponse. –