WildFly 10 Jgroups всегда привязан к интерфейсу localhost

Привет, я пытаюсь разработать кластерное приложение, которое использует Infinispan для кеширования. Сначала я попытался запустить в реплицированном режиме, запустив два экземпляра wildfly, используя локальный хост в качестве интерфейса привязки (со смещениями портов). Это сработало. Но как только я запускаю сервер с использованием IP интерфейса, кластер не формируется. Тем не менее, я могу получить доступ к другим службам, используя IP-адрес интерфейса. Я попытался установить telnet-порт Jgroups, используя IP-адрес интерфейса, и это не удалось. Но telnetting на localhost работает для порта Jgorups.

(Затем введите IP-адреса localhsot [порт] в элемент начальной конфигурации хоста в tcpping. Затем сработало формирование кластера.)

Итак, мой вопрос: почему он привязывается к localhost даже после запуска wildfly с использованием IP интерфейса.

Вот моя конфигурация. (Я не могу использовать UDP, поэтому мне нужно использовать tcpping для формирования кластера)

Запустил сервер Wilfly, используя

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

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

person Isuru    schedule 30.09.2016    source источник


Ответы (1)


Я разместил тот же вопрос в разработчике Jboss, так как я не получил здесь ответа. И это ответ, который я получил оттуда.

По умолчанию 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>

привязки сокетов, привязывает jgroups к частному интерфейсу

<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

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