2016-02-07 4 views
0

Je suis en train de créer un cluster restcomm: sip-balancer + quelques instances de restcomm. Mais je ne peux pas connecter le nœud restcomm et sip-loadbalancer. J'ai utilisé ce tutoriel - http://docs.telestax.com/sip-servlets-clustering-high-availability/ mais je n'ai obtenu aucun résultat.Restcomm cluster: la liste des noeuds est vide dans sip-balancer

On peut dire qu'elle devrait être deux étapes

  1. changement path-name attribut dans standalone/configuration/standalone-sip.xml
  2. ajouter org.mobicents.ha.javax.sip.BALANCERS à standalone/configuration/mss-sip-stack.properties

que je comprends et noeud loadbalancer utilisation rmi comme canal. Je vois (j'ai utilisé netstat) que le serveur écoute le port 2000 et le nœud établit la connexion avec lui. Mais quand j'essaie d'utiliser loadbalancer depuis le client sip, il retourne "error 500 - no nodes available". J'ai également utilisé la mise au point à distance - la liste des noeuds est vide.

ai-je raté quelque chose?

p.s. J'ai utilisé docker restromm instance et sip-loadbalancer sur la même machine.

merci,

Répondre

0

donc j'ai trouvé mon problème. Selon le fichier journal sur le noeud restcomm - il ne peut pas se connecter à l'équilibreur par RMI.

Erreur de connexion est très étrange - Connection refused to host: 127.0.0.1 et parfois Connection refused to host: 127.0.1.1

hier je fatigué pour préciser java.rmi.server.hostname mais il ne m'a pas aidé

aujourd'hui j'ai créé petit client RMI à balanciers, il a travaillé de ma machine locale (l'équilibreur est hébergé dessus aussi). Cependant, cette application a fonctionné à partir de la machine virtuelle. donc j'ajouté plusieurs journaux à code et trouvé:

  1. app peut Lookup été à distance
  2. point final à distance de ce fait est 127.0.0.1, mais devrait être l'adresse IP de la machine distante

Après cela i spécifié externalHost et public-ip pour ma gorgée équilibreur et a obtenu l'adresse de point de terminaison de haricot avec 127.0.1.1

donc question a été trouvé - ubuntu utilise cette « locale » ip adre ss pour votre "nom de machine". Vous pouvez le trouver dans /etc/hosts.

SIP-équilibreur (application java) obtient comme adresse IP de point final pour les services

Mon correctif est - change 127.0.1.1 to 127.0.0.1 dans /etc/hosts. après cela, sip-balancer fournit une adresse IP réelle de votre machine pour les objets distants.

Conclusion: mon problème - système d'exploitation mal :)

solution commune: développeur doit vérifier le type d'adresse et ne pas utiliser les adresses de rebouclage.

+0

@jeand pourriez-vous décrire les problèmes potentiels avec les systèmes d'exploitation dans votre tutoriel? – hamsterksu