2016-09-30 6 views
0

こんにちは私は、キャッシュにInfinispanを使用するクラスタ化されたアプリケーションを開発しようとしています。まず、localhostをバインディングインターフェイス(ポートオフセット付き)として使用して、wildflyの2つのインスタンスを開始することによって、レプリケートモードで実行しようとしました。これはうまくいった。しかし、インターフェイスIPを使用してサーバを起動すると、クラスタは形成されません。それでも私はインターフェイスIPを使って他のサービスにアクセスできます。 インターフェイスIPアドレスを使用してJgroupsポートをtelnetしようとしましたが、失敗しました。しかし、localhostへのtelnettingはJgorupsポートで動作します。 WildFly 10 Jgroupsは常にlocalhostインターフェイスにバインドします

は(そして、TCPPINGにlocalhsot [ポート] IPの最初のためにホスト構成要素を入力する。そして、クラスター形成が働いていた。)それはインターフェイスのIPを使用してwildfly開始した後も、localhostに結合しない理由

は、だから私の質問です。

これは私の設定です。 (私は、UDPを使用するため、クラスター形成のためのTCPPING使用する必要がカント)

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設定

<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キャッシュの設定

を使用してwilflyサーバーを開始しました
<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> 

答えて

3

私はJboss developerに同じ質問を掲載しましたが、私はここで何の答えも得ていませんでした。 これは私がそこから得た答えです。

デフォルトでは、Jgroupsはプライベートインターフェイスにバインドされています。サーバを起動するときに、このIPも提供することができます。

standalone.bat -b 192.168.17.39 -bprivate=192.168.17.39 

インターフェイス設定については、interfacesセクションを参照してください。

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

ソケットバインディングは、プライベートインターフェイス

<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サブシステムへのjgroupsを結合し

<stack name="tcpping"> 
    <transport type="TCP" socket-binding="jgroups-tcp"/> 
    . 
</stack> 
関連する問題