使用客户端命令连接Zookeeper
连接Server
使用命令./zkCli.sh -server 127.0.0.1:2181
使用JAVA连接使用ZK
POM添加引用
<dependency>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
<version>3.4.6</version>
</dependency>
使用curator连接使用ZK
import org.apache.curator.framework.CuratorFramework;
import org.apache.curator.framework.CuratorFrameworkFactory;
import org.apache.curator.retry.ExponentialBackoffRetry;
import org.apache.zookeeper.CreateMode;
import org.apache.zookeeper.data.Stat;
public class CuratorDemo {
final static String BasePath = "/curatorTest";
public static void main(String[] args) throws Exception {
CuratorFramework curatorFramework = CuratorFrameworkFactory.builder().connectString("*:2181,*:2182,*:2183").sessionTimeoutMs(4000)
.retryPolicy(new ExponentialBackoffRetry(1000, 3))
.namespace("curator").build();
curatorFramework.start();
Stat stat = curatorFramework.checkExists().forPath(BasePath + "/node1");
Object o;
if (stat == null) {
o= curatorFramework.create().creatingParentContainersIfNeeded().
withMode(CreateMode.PERSISTENT).forPath(BasePath + "/node1", "0".getBytes());
}
//存储Stat
curatorFramework.getData().storingStatIn(stat).forPath(BasePath + "/node1");
//更新时使用State
stat = curatorFramework.setData().withVersion(stat.getVersion()).forPath(BasePath + "/node1", "1".getBytes());
System.out.println("update => " + stat.getVersion());
curatorFramework.close();
}
}