1

そのため、apache の背後に 2 つの jboss ノードをセットアップし、クラスタリングを有効にして、ehcache 同期をセットアップしました。両方のノードが実行されている状態で、リクエストを受信しなかったノードで次の例外が発生します。

...
JBoss_5_1_0_GA date=200905221634)] Started in 2m:16s:391ms
12:52:51,139 ERROR [NAKACK] sender 10.166.17.53:7600 not found in xmit_table
12:52:51,139 ERROR [NAKACK] range is null
12:52:51,145 INFO  [RPCManagerImpl] Received new cluster view: MergeView::[10.16                 6.17.52:7600|1] [10.166.17.52:7600, 10.166.17.53:7600], subgroups=[[10.166.17.52                       :7600|0] [10.166.17.52:7600], [10.166.17.53:7600|0] [10.166.17.53:7600]]
12:53:10,006 WARN  [NAKACK] 10.166.17.52:7600] discarded message from non-member                        10.166.17.53:7600, my view is [10.166.17.52:7600|0] [10.166.17.52:7600]
12:53:10,108 WARN  [NAKACK] 10.166.17.52:7600] discarded message from non-member                        10.166.17.53:7600, my view is [10.166.17.52:7600|0] [10.166.17.52:7600]
12:53:10,110 ERROR [NAKACK] sender 10.166.17.53:7600 not found in xmit_table
12:53:10,110 ERROR [NAKACK] range is null
12:53:10,113 INFO  [graCluster] New cluster view for partition graCluster (id: 1                       , delta: 1) : [127.0.0.1:1099, 127.0.0.1:1099]
12:53:10,117 INFO  [graCluster] Merging partitions...
12:53:10,118 INFO  [graCluster] Dead members: 0
12:53:10,120 INFO  [graCluster] Originating groups: [[10.166.17.52:7600|0] [10.1                       66.17.52:7600], [10.166.17.53:7600|0] [10.166.17.53:7600]]

以下は、私のehcache.xmlがどのように見えるかです:

<cacheManagerPeerProviderFactory
       class="net.sf.ehcache.distribution.jgroups.JGroupsCacheManagerPeerProviderFactory"
       properties="connect=TCP(start_port=7800):TCPPING(initial_hosts=10.46.49.52[7800],10.46.49.53[7800];port_range=10;timeout=3000;
                    num_initial_members=2;up_thread=true;down_thread=true):
                    VERIFY_SUSPECT(timeout=1500;down_thread=false;up_thread=false):
                    pbcast.NAKACK(down_thread=true;up_thread=true;gc_lag=100;retransmit_timeout=3000):
                    pbcast.GMS(join_timeout=5000;join_retry_timeout=2000;shun=false;
                    print_local_addr=false;down_thread=true;up_thread=true)"
                    propertySeparator="::"/>

最後に、これは私が両方のノードを実行する方法です:

./run.sh -c all -g myCluster -Djboss.default.jgroups.stack=tcp -Djgroups.tcpping.initial_hosts=10.166.17.52[7600],10.166.17.53[7600] -Djboss.messaging.ServicePeerId=1 - Djgroups.bind_addr=10.166.17.52 -Djboss.node.name=node1 -b 0.0.0.0

./run.sh -c すべて -g myCluster-Djboss.default.jgroups.stack=tcp -Djgroups.tcpping.initial_hosts=10.166.17.52[7600],10.166.17.53[7600] -Djboss.messaging.ServicePeerId=2 - Djgroups.bind_addr=10.166.17.53 -Djboss.node.name=node2 -b 0.0.0.0

サーバーは互いに通信しようとしています。それらが同じクラスターにあるかどうかはわかりません。どんな助けでも大歓迎です。

4

2 に答える 2

1

ehcache ロギングを有効にしたところ、ノードが相互に通信しようとしても失敗し、相互接続を確立できないことがわかりました。これは、正しく構成されていないホスト ファイルを修正することで解決されました。ノードが相互に通信を開始すると、ehcache のレプリケーションが機能しました。どうやら xmit_table に関するエラーは重要ではありませんでした。

于 2014-02-26T14:06:49.213 に答える
0

最近、Windows マシン間での EHCache の TCP ベースの検出とレプリケーションで POC を実行しているときに、この問題に遭遇しました。IP アドレスをバインド アドレス -Djgroups.bind_addr= として使用すると、サービスの 2 つのインスタンスをローカルで実行しても問題なく動作していました。しかし、マシン間で接続すると失敗しました。ホスト ファイルを変更するアクセス権がないため、IP の代わりにマシン名を使用するようにバインド アドレスを変更しました。サービスを再起動し、マシン間の通信は完全に正常に機能し、キャッシュに対するすべての CRUD 操作が期待どおりにレプリケートされました。

于 2016-12-19T07:59:47.623 に答える