hazelcastAan de slag met hazelcast


Opmerkingen

Deze sectie geeft een overzicht van wat hazelcast is en waarom een ontwikkelaar het misschien wil gebruiken.

Het moet ook grote onderwerpen binnen hazelcast vermelden en een link naar de gerelateerde onderwerpen bevatten. Aangezien de documentatie voor hazelcast nieuw is, moet u mogelijk eerste versies van die gerelateerde onderwerpen maken.

Hallo Wereld!

Na de installatie van hazelcast en het toevoegen aan Java Build Path, kunt u Main.class schrijven waarmee het Main.class gestart

public static void main(String[] args){
    Config config = new Config();
    // creates a new HazelcastInstance (a new node in a cluster)
    HazelcastInstance instance = Hazelcast.newHazelcastInstance(config);
    // returns the Cluster that this HazelcastInstance is part of
    Cluster cluster = instance.getCluster();
    // get all devices, that are in the cluster
    Set<Member> setMembers = cluster.getMembers();

    // get ExecutorService that works on cluster instance
    ExecutorService mService = instance.getExecutorService("exec");
    
    for (int i = 0; i < setMembers.size(); i++) {
        // send a task for each member on service of HazelcastInstance
        final Future<String> future = mService.submit(new ClusterWorkingTask());
        
        String response = null;
        try {
            // wait for response
            response = future.get();
            System.out.println(response);  // each member return: Hello World!
        } catch (InterruptedException e) {
            e.printStackTrace();
        } catch (ExecutionException e) {
            e.printStackTrace();
        }
    }
}
 

maak ClusterWorkingTask.class die op elk lid kan worden uitgevoerd

public class ClusterWorkingTask implements Callable<String>, Serializable {
    @Override
    public String call() throws Exception {
        // send Hello World! as result of execution
        return "Hello World!";
    }
}
 

Installatie of instellingen

Hazelcast draait op een Java Virtual Machine (JVM). Het is compatibel met Java-versies 1.6.x, 1.7.x en 1.8.x. Installatie en configuratie is net zo eenvoudig als het downloaden van het zip- (of tar) archief, het kopiëren van de niet-gecomprimeerde map naar een gewenste installatiemap en het toevoegen van de jar aan uw Java-klassepad.

Bijvoorbeeld, na het downloaden van de hazelcast-zip van https://hazelcast.org/download/ , met bash op Linux (Hazelcast 3.7.4 wordt in dit voorbeeld gebruikt, maar de versie die u downloadt kan verschillen):

unzip hazelcast-3.7.4.zip
 

Stel de CLASSPATH-variabele in:

export CLASSPATH=${CLASSPATH}:${PWD}:hazelcast-3.7.4/lib/hazelcast-3.7.4.jar
 

U zou nu de hazelcast-server moeten kunnen starten om uw installatie te controleren door het startscript uit te voeren. Voer in Linux het script start.sh uit. Voorbeeldscript en verwachte uitvoer:

$ hazelcast-3.7.4/bin/start.sh
JAVA_HOME environment variable not available.
Path to Java : /path/to/your/java

... ### More output here, ending with lines similar to: ### ...

Members [1] {
    Member [192.168.38.1]:5701 - 3456f96d-3646-459b-9199-caa6ebb3e5ee this
}

Jan 07, 2017 8:30:53 PM com.hazelcast.core.LifecycleService
INFO: [192.168.XX.XX]:5701 [dev] [3.7.4] [192.168.38.1]:5701 is STARTED
 

Opmerking: als uw java-installatie zich niet op een standaardlocatie bevindt, moet u mogelijk ook de omgevingsvariabele JAVA_HOME instellen.

U moet nu zijn ingesteld om de codevoorbeelden te downloaden en uit te voeren (beschikbaar op http://download.hazelcast.com/code-samples/hazelcast-code-samples-3.7.4.zip) , of om te beginnen met spelen met het schrijven van uw eigen eenvoudige Java Hazelcast-client om verbinding te maken met het Hazelcast-serverknooppunt dat u net bent gestart.