2

概念実証として、埋め込みキャッシュと 1 つ以上のスタンドアロンの infinispan サーバーを起動する既存のアプリケーションを使用して、infinispan クラスターを構築しようとしました。

この背後にある理由は、新しくダウンロードした infinispan スタンドアロン サーバーを起動するだけで、ゼロ構成でクラスターを自動作成する方法があることです。したがって、私のアプリケーションは、新しいノードによって自動的に「結合」される組み込みキャッシュを実行します。

私は infinispan と jgroups に非常にデフォルトの構成を使用しています (以下を参照)。

その結果、キャッシュが埋め込まれた 2 つ以上のアプリケーションが「相互に認識」し、2 つ以上のスタンドアロンの infinispan サーバーが相互に認識されます。しかし、どのノードもスタンドアロン ノードを「認識」しておらず、私のノードも認識していません。

私は infinispan 6.0.2 を使用しています。

スタンドアロンサーバーはこれです: http://downloads.jboss.org/infinispan/6.0.2.Final/infinispan-server-6.0.2.Final-bin.zip

これを機能させるために何を確認するか、または私が研究できるリソースへのリンクについてのヒントを教えてください。

これは、埋め込みキャッシュを開始するコードです。

  DefaultCacheManager manager = new DefaultCacheManager(
    GlobalConfigurationBuilder.defaultClusteredBuilder().transport()
      .nodeName( node ).addProperty( "configurationFile", "jgroups.xml" )
      .build(), new ConfigurationBuilder().clustering()
      .cacheMode( CacheMode.DIST_SYNC ).build() );

  Cache<String, String> cache = manager.getCache( "default" );

これは私が使用している jgroups-config です:

<config xmlns="urn:org:jgroups"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="urn:org:jgroups file:schema/JGroups-3.2.xsd">

    <UDP
            mcast_addr="${jgroups.udp.mcast_addr:228.6.7.8}"
            mcast_port="${jgroups.udp.mcast_port:46655}"
            tos="8"
            ucast_recv_buf_size="200k"
            ucast_send_buf_size="200k"
            mcast_recv_buf_size="200k"
            mcast_send_buf_size="200k"
            loopback="true"
            max_bundle_size="64000"
            max_bundle_timeout="30"
            ip_ttl="${jgroups.udp.ip_ttl:2}"
            enable_bundling="true"
            enable_diagnostics="false"
            bundler_type="old"

            thread_naming_pattern="pl"

            thread_pool.enabled="true"
            thread_pool.min_threads="2"
            thread_pool.max_threads="30"
            thread_pool.keep_alive_time="60000"
            thread_pool.queue_enabled="true"
            thread_pool.queue_max_size="100"
            thread_pool.rejection_policy="Discard"

            oob_thread_pool.enabled="true"
            oob_thread_pool.min_threads="2"
            oob_thread_pool.max_threads="30"
            oob_thread_pool.keep_alive_time="60000"
            oob_thread_pool.queue_enabled="false"
            oob_thread_pool.queue_max_size="100"
            oob_thread_pool.rejection_policy="Discard"
            />

    <PING timeout="3000" num_initial_members="3"/>
    <MERGE2 max_interval="30000" min_interval="10000"/>
    <FD_SOCK/>
    <FD_ALL timeout="15000"/>
    <VERIFY_SUSPECT timeout="5000"/>
    <!-- Commented when upgraded to 3.1.0.Alpha (remove eventually)
    <pbcast.NAKACK  exponential_backoff="0"
                    use_mcast_xmit="true"
                    retransmit_timeout="300,600,1200"
                    discard_delivered_msgs="true"/> -->
    <pbcast.NAKACK2
            xmit_interval="1000"
            xmit_table_num_rows="100"
            xmit_table_msgs_per_row="10000"
            xmit_table_max_compaction_time="10000"
            max_msg_batch_size="100"/>

    <!-- Commented when upgraded to 3.1.0.Alpha (remove eventually)
    <UNICAST timeout="300,600,1200"/>  -->
    <UNICAST2
            stable_interval="5000"
            xmit_interval="500"
            max_bytes="1m"
            xmit_table_num_rows="20"
            xmit_table_msgs_per_row="10000"
            xmit_table_max_compaction_time="10000"
            max_msg_batch_size="100"
            conn_expiry_timeout="0"/>
    <pbcast.STABLE stability_delay="500" desired_avg_gossip="5000" max_bytes="1m"/>
    <pbcast.GMS print_local_addr="false" join_timeout="3000" view_bundling="true"/>
    <UFC max_credits="200k" min_threshold="0.20"/>
    <MFC max_credits="200k" min_threshold="0.20"/>
    <FRAG2 frag_size="8000"  />
    <RSVP timeout="60000" resend_interval="500" ack_on_delivery="true" />
</config>
4

2 に答える 2

1

IPv4/IPv6 スタックに問題があるようです

infinispan サーバーの起動中に JVM 引数を使用する

-Djava.net.preferIPv4Stack=true

これにより、アプリケーションはデフォルトのスタックとして IPV4 を使用するようになります。

于 2015-07-08T06:40:42.570 に答える
1

問題は、おそらく JGroups のマルチキャスト ポート/アドレス設定にあります。また、同じ IPv4 / IPv6 設定を使用していることを確認してください。

于 2014-06-06T21:25:07.243 に答える