2016-09-30 10 views
0

Hallo Ich versuche, eine Cluster-Anwendung zu entwickeln, die Infinispan zum Zwischenspeichern verwendet. Zuerst habe ich versucht, im replizierten Modus zu laufen, indem ich zwei Instanzen von Wildfly mit dem Localhost als Bindungsschnittstelle (mit Port-Offsets) gestartet habe. Das hat gut funktioniert. Aber sobald ich den Server mit Interface IP starte, bildet sich kein Cluster. Trotzdem kann ich mit der Schnittstelle IP auf andere Dienste zugreifen. Ich habe versucht, den Jgroups-Port mit der IP-Adresse der Schnittstelle zu telnet, und es ist fehlgeschlagen. Aber telnetting zu localhost funktioniert für Jgorups port.WildFly 10 Jgroups binden immer an Localhost-Schnittstelle

(Dann localhsot [port] IP-Adressen eingegeben gearbeitet Host-Konfigurationselement Erstausbildung in tcpping. Dann Clusterbildung.)

So ist meine Frage, warum Wildfly mit IP-Schnittstelle auf localhost funktioniert es bindet auch nach dem Start.

Hier ist meine Konfiguration. (I kippe UDP verwenden, müssen daher tcpping für die Clusterbildung verwenden)

Schritte des wilfly Server

standalone.bat -Djboss.server.base.dir=../standalone_isuru -c standalone-full-ha.xml -b 192.168.17.33 -Djboss.node.name=isuru -Djboss.socket.binding.port-offset=1 

Jgourps Konfiguration

<subsystem xmlns="urn:jboss:domain:jgroups:4.0"> 
<channels default="ee"> 
    <channel name="ee" stack="tcpping"/> 
</channels> 
<stacks> 
    <stack name="udp"> 
     . 
     . 
    </stack> 
    <stack name="tcp"> 
     . 
     . 
    </stack> 
    <stack name="tcpping"> 
     <transport type="TCP" socket-binding="jgroups-tcp"/> 
     <protocol type="TCPPING"> 
      <property name="initial_hosts"> 
       192.168.17.33[7601], 192.168.14.39[7700], 192.168.17.33[7800] 
      </property> 
      <property name="num_initial_members"> 
       2 
      </property> 
      <property name="port_range"> 
       5 
      </property> 
      <property name="timeout"> 
       1000 
      </property> 
     </protocol> 
     <protocol type="MERGE3"/> 
     <protocol type="FD_SOCK" socket-binding="jgroups-tcp-fd"/> 
     <protocol type="FD"/> 
     <protocol type="VERIFY_SUSPECT"/> 
     <protocol type="pbcast.NAKACK2"/> 
     <protocol type="UNICAST3"/> 
     <protocol type="pbcast.STABLE"/> 
     <protocol type="pbcast.GMS"/> 
     <protocol type="MFC"/> 
     <protocol type="FRAG2"/> 
    </stack> 
</stacks> 

Infinispan cache Konfig

Verwendung
<cache-container name="replicated_cache" default-cache="default" module="org.wildfly.clustering.server" jndi-name="infinispan/replicated_cache"> 
    <transport lock-timeout="60000"/> 
    <replicated-cache name="customer" jndi-name="infinispan/replicated_cache/customer" mode="SYNC"> 
     <transaction locking="OPTIMISTIC" mode="FULL_XA"/> 
     <eviction strategy="NONE"/> 
    </replicated-cache> 
</cache-container> 

Antwort

3

Ich habe die gleiche Frage in Jboss developer gepostet, da ich hier keine Antwort bekommen habe. Und das ist die Antwort, die ich von dort bekam.

Standardmäßig binden Jgroups an die private Schnittstelle. Beim Starten des Servers kann diese IP ebenfalls bereitgestellt werden.

standalone.bat -b 192.168.17.39 -bprivate=192.168.17.39 

Sie können für die Schnittstellenkonfiguration in die interfaces Abschnitt.

<interfaces> 
    <interface name="management"> 
     <inet-address value="${jboss.bind.address.management:127.0.0.1}"/> 
    </interface> 
    <interface name="public"> 
     <inet-address value="${jboss.bind.address:127.0.0.1}"/> 
    </interface> 
    <interface name="private"> 
     <inet-address value="${jboss.bind.address.private:127.0.0.1}"/> 
    </interface> 
    <interface name="unsecure"> 
     <inet-address value="${jboss.bind.address.unsecure:127.0.0.1}"/> 
    </interface> 
</interfaces> 

Buchse Bindungen bindet jgroups an private Schnittstelle

<socket-binding-group name="standard-sockets" default-interface="public" port-offset="${jboss.socket.binding.port-offset:0}"> 
    . 
    <socket-binding name="jgroups-tcp" interface="private" port="7600"/> 
    . 
</socket-binding-group> 

JGroups Subsystem

<stack name="tcpping"> 
    <transport type="TCP" socket-binding="jgroups-tcp"/> 
    . 
</stack>