Maven导入jar包
Hazelcast的jar包
<dependency>
<groupId>com.hazelcast</groupId>
<artifactId>hazelcast</artifactId>
<version>3.5.2</version>
</dependency>
客户端jar包
<dependency>
<groupId>com.hazelcast</groupId>
<artifactId>hazelcast-client</artifactId>
<version>3.5.2</version>
</dependency>
创建集群
① 使用Hazelcast实例创建了一个节点
package com.cqh.Test_Hazelcast;
import com.hazelcast.core.Hazelcast;
import com.hazelcast.core.HazelcastInstance;
import java.util.Map;
import java.util.Queue;
/**
* Created by yl1794 on 2018/4/25.
*/
// 使用 Hazelcast 实例创建了一个节点。
// 通过这个实例创建了一个分布式的Map和Queue,并向这些数据结构中添加了数据。
public class HazelcastGetStartServerMaster {
public static void main(String[] args){
// 创建一个 hazelcastInstance实例
HazelcastInstance instance = Hazelcast.newHazelcastInstance();
// 创建集群Map
Map<Integer,String> clusterMap = instance.getMap("MyMap");
clusterMap.put(1,"Hello hazelcast map!");
// 创建集群Queue
Queue<String> clusterQueue = instance.getQueue("MyQueue");
clusterQueue.offer("Hello hazelcast!");
clusterQueue.offer("Hello hazelcast queue!");
}
}
② 结果

③ 使用Hazelcast实例创建了第二个节点
package com.cqh.Test_Hazelcast;
import com.hazelcast.core.Hazelcast;
import com.hazelcast.core.HazelcastInstance;
import java.util.Map;
import java.util.Queue;
/**
* Created by yl1794 on 2018/4/25.
*/
// 使用 Hazelcast 实例创建了第二个节点。
// 该节点的作用是从Map、Queue中读取数据并输出。
public class HazelcastGetStartServerSlave {
public static void main(String[] args) {
//创建一个 hazelcastInstance实例
HazelcastInstance instance = Hazelcast.newHazelcastInstance();
Map<Integer, String> clusterMap = instance.getMap("MyMap");
Queue<String> clusterQueue = instance.getQueue("MyQueue");
System.out.println("Map Value:" + clusterMap.get(1));
System.out.println("Queue Size :" + clusterQueue.size());
System.out.println("Queue Value 1:" + clusterQueue.poll());
System.out.println("Queue Value 2:" + clusterQueue.poll());
System.out.println("Queue Size :" + clusterQueue.size());
}
}
④ 结果

创建客户端程序
① 创建一个client节点
package com.cqh.Test_Hazelcast;
import com.hazelcast.client.HazelcastClient;
import com.hazelcast.client.config.ClientConfig;
import com.hazelcast.core.HazelcastInstance;
import java.util.Map;
import java.util.Queue;
/**
* Created by yl1794 on 2018/4/25.
*/
// 除了直接使用Hazelcast服务来组建集群,Hazelcast还提供了区别于服务端的客户端应用包。
// 客户端与服务端最大的不同是:他不会存储数据也不能修改集群中的数据。
// 目前客户端有C++、.Net、Java多种版本。
// 创建一个client节点。
public class HazelcastGetStartClient {
public static void main(String[] args) {
ClientConfig clientConfig = new ClientConfig();
HazelcastInstance instance = HazelcastClient.newHazelcastClient(clientConfig);
Map<Integer, String> clusterMap = instance.getMap("MyMap");
Queue<String> clusterQueue = instance.getQueue("MyQueue");
System.out.println("Map Value:" + clusterMap.get(1));
System.out.println("Queue Size :" + clusterQueue.size());
System.out.println("Queue Value 1:" + clusterQueue.poll());
System.out.println("Queue Value 2:" + clusterQueue.poll());
System.out.println("Queue Size :" + clusterQueue.size());
}
}
② 结果
