2017-06-19 7 views
0

Ich habe eine erstellt ClusterHazelcast hinzufügen Mitglieder zur Laufzeit

private static final String IP_CLUSTER = "192.168.0.116:5701"; 

Config cfg = new Config(); 
// set IP of cluster 
cfg.getNetworkConfig().getJoin().getTcpIpConfig().addMember(IP_CLUSTER).setEnabled(true); 
cfg.getNetworkConfig().getJoin().getMulticastConfig().setEnabled(false);  
HazelcastInstance instance = Hazelcast.newHazelcastInstance(cfg); 

jetzt i mit hazelcast-client versuchen dieses Cluster

HazelcastInstance clientInstance = null; 
try { 
    ClientConfig cfg = new ClientConfig(); 
    ClientNetworkConfig cnc = cfg.getNetworkConfig(); 
    // ip of cluster that i want to connect 
    cnc.addAddress(IP_CLUSTER); 
    clientInstance = HazelcastClient.newHazelcastClient(cfg); 
} 
catch (Exception e) { 
    return; 
} 

, wenn ich den Client versuchen, eine Verbindung zu verbinden, werde ich auf dem Client folgende Ausgabe

19. Juni 2017 20.19.51 com.hazelcast.core.LifecycleService INFORMATION: [192. 168.0.116]: 5701 [dev] [3.7.8] [192.168.0.116]: 5701 wird gestartet Jun 19, 2017 8:19:56 PM com.hazeltcast.nio.tcp.SocketAcceptorThread INFORMATION: [192.168. 0,116]: 5701 [dev] [3.7.8] Akzeptieren der Socket-Verbindung von /192.168.0.116:60200 Jun 19, 2017 8:19:56 PM com.hazeltcast.nio.tcp.TcpIpConnectionManager INFORMATION: [192.168.0.116 ]: 5701 [dev] [3.7.8] Etablierte Socket-Verbindung zwischen /192.168.0.116:5701 und /192.168.0.116:60200 Jun 19, 2017 8:19:56 PM com.hazelcast.client.impl.protocol .task.AuthenticationMessageTask INFORMATION: [192.168.0.116]: 5701 [dev] [3.7.8] Empfangene Authentifizierung von Verbindung [ID = 1, /192.168.0.116:5701->/192.168.0.116:60200, Endpunkt = null, am Leben = true, type = JAVA_CLIENT], erfolgreich authentifiziert, Principal: ClientPrincipal {uuid = 'adaf4c23-a708-489b-9480-dfc7edf960ce', ownerUuid = '02d591cc-b572-4e6e-8904-92bd0d8c3610 '}, Besitzer-Verbindung: true, Client-Version: 3.7.8 19.06.2017 20:20:07 PM com.hazelcast.internal.partition.impl.PartitionStateManager INFORMATION: [192.168.0.116]: 5701 [dev] [3.7.8] Initialisierung des Clusters Partitionstabelle Anordnung ...

bedeutet -> neues Mitglied ist mit dem Cluster verbunden. Ist es richtig?

aber wenn ich für die Anzahl der Mitglieder auf Cluster fragen, ist es immer 1

wo ich einen Fehler haben? Wie neue Mitglieder (HazelcastInstances) zu Cluster hinzufügen?

Antwort

0

seine wirklich seltsam zu verstehen, aber von vielen Zeit Ausfürung von

private static final String IP_CLUSTER = "192.168.0.116:5701"; 

Config cfg = new Config(); 
// set IP of cluster 
cfg.getNetworkConfig().getJoin().getTcpIpConfig().addMember(IP_CLUSTER).setEnabled(true); 
cfg.getNetworkConfig().getJoin().getMulticastConfig().setEnabled(false);  
HazelcastInstance instance = Hazelcast.newHazelcastInstance(cfg); 

da wären:

  • erste Ausführung - ein Cluster erstellt und fügen Sie einen Knoten, um es
  • bei jeder nächsten Ausführung - fügt einen Knoten zum vorhandenen Cluster hinzu
+0

Was ist daran seltsam? Sie benötigen mindestens eine bekannte Mitgliedsadresse, um einem Cluster beizutreten, dh jedes andere Mitglied, das Sie starten (und die Adresse des ersten Mitglieds, das den Cluster erstellt hat), wird dem vorhandenen Cluster beitreten. – noctarius

1

Wie Sie selbst erwähnt haben, haben Sie einen Hazelcast-Client mit dem (Ein-Knoten-) Cluster verbunden. Ein Client ist nur ein Client, aber kein Clusterknoten. Stellen Sie es sich als JDBC-Client vor, der eine Verbindung zu einer Datenbank herstellt. Um den Cluster zu skalieren, müssen Sie zusätzliche Hazelcast-Mitglieder starten.

HazelcastInstance hz = Hazelcast.newHazelcastInstance(); // <- creates nodes 

HazelcastInstance client = HazelcastClient.newHazelcastClient(); // <- creates a client 
+0

Hallo. Du hast recht. Aber wie erstellt man eine neue Instanz auf 'cluster-client'? Die Konfiguration ist auf dem Client nicht editierbar – anatoli

+0

Nicht sicher, ich bekomme Ihre Frage. – noctarius

+0

Ich möchte viele Knoten zum Cluster verbinden. Ich habe 10 PCs, die in einem Netzwerk sind. Bei einem von ihnen erstelle ich einen Cluster und bei anderen möchte ich eine Verbindung zum Cluster herstellen, und jeder PC hat einen Knoten – anatoli

Verwandte Themen