2017-08-17 1 views
1

ip1とip2で2つのhzインスタンスが実行されています。 hazelcastのための構成は以下のようになります。ヘイゼルキャスト構成 - 不一致のネットワーク構成を持つインスタンスがクラスタに参加できます

Config config = new Config(); 

config.getGroupConfig().setName("dev"); 
config.getGroupConfig().setPassword("dev"); 

config.getNetworkConfig().getJoin().getTcpIpConfig().setEnabled(true); 
config.getNetworkConfig().getJoin().getMulticastConfig().setEnabled(false); 
config.getNetworkConfig().getJoin().getAwsConfig().setEnabled(false); 
config.getNetworkConfig().getJoin().getTcpIpConfig().addMember(ip1).addMember(ip2); 

config.getNetworkConfig().setInterfaces(new InterfacesConfig().setEnabled(true).addInterface(ip1).addInterface(ip2)); 

return Hazelcast.newHazelcastInstance(config); 

今、私は同じ設定でIP3で実行中の別のインスタンスを持っていますが、IP3、私は失敗のいずれかにIP3インスタンスを期待していたTCPメンバー

config.getNetworkConfig().getJoin().getTcpIpConfig().addMember(ip1).addMember(ip2).addMember(ip3); 

に追加されます構成が一致していないためにクラスターに参加することはできませんが、それらはすべて互いに検索してクラスターを形成することができます。

このシナリオを回避するにはどうすればよいですか?設定に不一致がある場合、クラスタ形成からノードを拒否するプロパティを設定する必要がありますか?

このシナリオでは、グループ名とクラスタメンバーの1つがわかります。私は簡単にクラスタに参加し、キャッシュの変更/削除を正しく行うことができますか?

答えて

1

ハゼルキャストメンバーとクライアントは、クラスタに少なくとも1つのエントリポイントが必要です。つまり、groupnameとgrouppasswordが一致するクラスタメンバーのANY IPアドレスがそのようなエントリポイントとして機能することができます。接続する予定がない場合、なぜすべてのIPをすべてのノードに入れるのですか?

一般に、固定IPアドレスを設定するよりも柔軟性の高いeureka、zookeeper、etcdなどの検出サービスを使用することをお勧めします。

関連する問題