ZooKeeper在Windows系统上单机部署和使用
来源:互联网 发布:闲鱼拒绝退款 淘宝介入 编辑:程序博客网 时间:2024/05/29 03:18
今天学习一下ZooKeeper的部署和使用。
1. 下载ZooKeeper并解压到D盘根目录,如下图。
2. 更改配置 zoo.cfg
(1) 进入conf目录,发现有zoo_sample.cfg文件。拷贝该文件并重命名为zoo.cfg。
(2) 打开zoo.cfg文件,”dataDir=/tmp/zookeeper”是Linux系统下的路径配置,我们更改为”dataDir=D:\zookeeper-3.4.8\data”。
3. 启动ZooKeeper
(1) 进入bin目录下
(2) 启动ZooKeeper服务器端:双击”zkServer.cmd”文件。
(3) 启动ZooKeeper客户端:双击”zkCli.cmd”文件。
4. 使用ZooKeeper
import org.apache.zookeeper.CreateMode;import org.apache.zookeeper.WatchedEvent;import org.apache.zookeeper.Watcher;import org.apache.zookeeper.ZooDefs.Ids;import org.apache.zookeeper.ZooKeeper;public class ZooKeeperTest { public static void main(String[] args) throws Exception { Watcher watcher = new Watcher() { // 监控所有被触发的事件 public void process(WatchedEvent event) { System.out.println("触发了" + event.getType() + "事件!"); } }; // 1.连接ZooKeeper服务器 // 第一个参数:ZooKeeper服务器的连接地址,如果ZooKeeper是集群模式或伪集群模式(即ZooKeeper服务器有多个),那么每个连接地址之间使用英文逗号间隔,单个连接地址的语法格式为"主机IP:ZooKeeper服务器端口号"; // 第二个参数:session超时时长(单位:毫秒) // 第三个参数:用于监控目录节点数据变化和子目录状态变化的Watcher对象 ZooKeeper zooKeeper = new ZooKeeper("127.0.0.1:2181", 5000, watcher); // 2.创建名为"/rootNode"的持久目录节点 zooKeeper.create("/rootNode", "RootNodeData".getBytes(), Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT); // 判断指定目录节点是否存在 System.out.println("'/rootNode'节点状态:" + zooKeeper.exists("/rootNode", true)); // 获取"rootNode"节点上的数据 System.out.println("'/rootNode'节点上数据:" + new String(zooKeeper.getData("/rootNode", false, null))); // 3.创建子目录节点 // 在"rootNode"节点下创建一个名为"ChildNode1"的子目录节点 zooKeeper.create("/rootNode/ChildNode1", "ChildNode1Data".getBytes(), Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT); // 在"rootNode"节点下创建一个和"ChildNode1"同级的名为"ChildNode2"的子目录节点 zooKeeper.create("/rootNode/ChildNode2", "ChildNode2Data".getBytes(), Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT); // 取出目录节点"rootNode"下的所有子目录节点 System.out.println("目录节点'/rootNode'下的所有子目录节点有:" + zooKeeper.getChildren("/rootNode", true)); // 修改名为"ChildNode2"的目录节点数据 zooKeeper.setData("/rootNode/ChildNode2", "NewChildNode2Data".getBytes(), -1); // 4.操作目录节点 // 删除"/rootNode/ChildNode1"目录节点 zooKeeper.delete("/rootNode/ChildNode1", -1); // 判断"/rootNode/ChildNode1"目录节点是否存在 System.out.println("'/rootNode/ChildNode1'节点状态:" + zooKeeper.exists("/rootNode/ChildNode1", false)); // 删除"/rootNode/ChildNode2"目录节点 zooKeeper.delete("/rootNode/ChildNode2", -1); // 删除"/rootNode"目录节点 zooKeeper.delete("/rootNode", -1); // 5.关闭与ZooKeeper的连接 zooKeeper.close(); }}
输出结果是:”
触发了None事件!
‘/rootNode’节点状态:3,3,1482156908288,1482156908288,0,0,0,0,12,0,3
‘/rootNode’节点上数据:RootNodeData
目录节点’/rootNode’下的所有子目录节点有:[ChildNode1, ChildNode2]
触发了NodeChildrenChanged事件!
‘/rootNode/ChildNode1’节点状态:null
触发了NodeDeleted事件!
“
0 0
- ZooKeeper在Windows系统上单机部署和使用
- 在单机上实现ZooKeeper伪机群/伪集群部署
- 在单机上实现ZooKeeper伪集群部署
- zookeeper入门(1)在单机上实现ZooKeeper伪机群/伪集群部署
- zookeeper入门(1)在单机上实现ZooKeeper伪机群/伪集群部署
- zookeeper单机多实例和分布式部署
- Solr单机部署在Tomcat之--windows和linux流程
- zookeeper单机伪集群搭建(windows系统)
- 在windows上部署Redis系统服务
- zookeeper单机部署
- windows上部署RabbitMQ单机服务
- 在Windows上部署使用Redis
- 在windows上部署使用Redis
- 在windows上部署使用Redis
- 在windows上部署使用Redis
- 在windows上部署使用Redis
- 在windows上部署使用Redis
- 在windows上部署使用Redis
- WebApp开发-移动端WebApp开发必备知识
- Qt/C++ 模仿 酷狗音乐播放器
- php中文路径问题
- 入侵服务器的一种方法
- linux 下安装redis
- ZooKeeper在Windows系统上单机部署和使用
- Java设计模式(4)创建型:生成器模式
- springMVC源码分析--HandlerMapping(一)
- Java通过调用javacv打开摄像头
- VMware下的Ubuntu14.04用ifconfig不能显示ip地址的解决方案
- 链表各类操作详解
- Hotfix KB2731284 or later update is installed, no need to zero-out data files
- CSS浮动与定位(二)
- 【Flask】HTTP的异常