Comment changer le nom de nœud par défaut de ejabberd qui est ejabberd@localhost?
Je veux cluster ejabberd noeud, si je veux que chaque nœud ait un autre nom de nœud.
J'ai cherché sur le net, partout il est dit que vous pouvez modifier nodename dans ejabberdctl.cfg fichier en changeant de ERLANG_NODE=ejabberd@desired_name.
Mais au moment où je modifier cette ligne pour n'importe quel autre nom, lors du démarrage du serveur, il est dit "Crash dump écrit à......", et lors de l'arrêt du serveur à l'aide de ejabberdctl arrêter, il me dit "Échec de la connexion RPC pour le nœud ejabberd@desired_name: nodedown".
Quelqu'un peut-il me dire comment modifier le nom de nœud avec succès?
Merci d'avance!!!
Vous pouvez avoir un problème avec amnésie & nbsp;. Je ne me souviens pas des détails, mais amnésie & nbsp; tables reste enfermé dans l'hôte local du nœud. Si vous n'avez pas besoin de récupérer les données sur amnésie & nbsp;, il suffit de supprimer la db dir et de redémarrage du serveur ejabberd
OriginalL'auteur user2323620 | 2013-07-04
Vous devez vous connecter pour publier un commentaire.
Quel que soit le nom d'hôte que vous ajoutez à l'Ejabberd nœud, vous aurez à en rendre compte dans le fichier hosts, /etc/hosts), comme ejabberd tente de résoudre le nom de domaine que vous ajoutez, si elle n'est pas résolu, il ne sera pas .. il devrait être aussi simple que cela et rien de plus.
OriginalL'auteur securecurve
Même si c'est un peu trop tard, mais pour ceux qui se le même problème, Voici ce que vous devez faire:
De recherche pour tous les processus en cours d'exécution de ejabberd et de les tuer.
ps aux | grep ejabberd
kill process_id_of_daemon
Tuer tous les processus relatifs à epmd qui est un démon qui s'exécute par erlang de l'exécution.
ps aux | grep epmd
kill process_id_of_daemon
Redémarrer ejabberd
Le problème ici est que si vous avez également des erlang installé dans votre système, le démon epmd est toujours en cours d'exécution et ejabberd prend cela comme un double de l'instance en essayant d'être invoquée.(D'où le nom en double erreur dans le rapport de crash)
Arrêter ces processus, puis en exécutant ejabberd ferait epmd exécuter à nouveau de sorte qu'il n'affecte pas erlang.
OriginalL'auteur Rohit Minni
Juste pour les enregistrements. Vous pouvez utiliser l'option offerte par ejabberdctl. Tout ce que vous avez à faire est de ...
/var/lib/ejabberd
ejabberdctl mnesia_change_nodename $OLDNODE $NEWNODE $OLDFILE $NEWFILE
ejabberdctl install_fallback $NEWFILE
L'ensemble du processus est expliqué dans ejabberd docs
OriginalL'auteur Uday Sawant
la partie avant de ERLANG_NODE devrait être votre nom. L'après " @ " est partie de domaine/accueil.
ERLANG_NODE=votre-nom@host
Nettoyage amnésie & nbsp; dir sur de nouveaux nœuds (ils ne disposent pas d'info pertinente puisque vous n'avez jamais cluster)
c'est dans YOURDIR/var/lib/* en dehors de fichier cookie. Peut-être que votre dir n'est pas "contaminé" avec le mauvais hôte, car amnésie & nbsp; pourrait ne pas démarrer.
Après la modification de nom de nœud dans ejabberdctl.cfg, le serveur ne démarre pas, même si j'ai complètement supprimé le amnésie & nbsp; répertoire db u comme spécifié. Après le retour de la modf, cela fonctionne assez bien. Ce que je fais mal??
quelle est l'erreur (inspecter les logs s'il vous plaît)?
Il dit "Crash dump a écrit: /home/...../var/log/ejabberd/erl_crash_20130705-170203.dump Noyau pid de résiliation (application_controller) ({application_start_failure, noyau, {{arrêt, {failed_to_start_child, net_sup,{arrêt,{failed_to_start_child, auth,{"Erreur lors de la lecture /home/..." Quand j'ai essayé ejabberdctl arrêter, il dit: "RPC a échoué sur le nœud ejabberd@srv: nodedown"
OriginalL'auteur user425720