zookeeper配置与使用

部署单机模式

conf目录下
zoo_sample.cfg文件改名为zoo.cfg

tickTime=2000                             #心跳时间 ms
dataDir=/home/zsh/zookeeper/data          #日志,snapshot等
dataLogDir=/home/zsh/zookeeper/dataLog
clientPort=2181

启动:./zkServer.sh start
关闭:./zkServer.sh stop

查看资料

zookeeper原理
zookeeper中Watcher和Notifications
zookeeper适用场景:如何竞选Master及代码实现
zookeeper适用场景:配置文件同步
zookeeper适用场景:分布式锁实现
zookeeper适用场景:zookeeper解决了哪些问题
Zookeeper Api(java)入门与应用

命令访问

输入命令,连接ZooKeeper

zkCli.sh –server host:2181

命令行工具的一些简单操作如下:

ls /
create /zk "mydata"
get /zk
set /zk "zsl"
delete /zk

API访问

netflix是zk顶级的开源项目
例子:

    ZooKeeper zk = new ZooKeeper("192.168.31.216:" + 2181, 5000, myWatcher);
    zk.create("/testRootPath", "testRootData".getBytes(), ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
    zk.create("/testRootPath/testChildPathOne", "testChildDataOne".getBytes(),
            ZooDefs.Ids.OPEN_ACL_UNSAFE,CreateMode.PERSISTENT);
    zk.setData("/testRootPath/testChildPathOne","modifyChildDataOne".getBytes(),-1);
    zk.create("/testRootPath/testChildPathTwo", "testChildDataTwo".getBytes(),
            ZooDefs.Ids.OPEN_ACL_UNSAFE,CreateMode.PERSISTENT);
    zk.delete("/testRootPath/testChildPathTwo",-1);
    zk.delete("/testRootPath/testChildPathOne",-1);
    zk.delete("/testRootPath",-1);
    zk.close();
posted @ 2016-09-09 17:50  zhangshihai1232  阅读(104)  评论(0)    收藏  举报