当前位置: 首页 > news >正文

泗县住房和城乡建设局网站杭州建平台网站公司

泗县住房和城乡建设局网站,杭州建平台网站公司,怎么做网站规划,wordpress 文章标题调用1. 下载 官网地址#xff1a;Apache ZooKeeper 点击下载按钮 选择对应的版本进行下载 2. 使用 1、解压 tar -zxf apache-zookeeper-3.9.2-bin.tar.gz2、复制配置文件#xff0c;有一个示例配置文件 conf/zoo_sample.cfg#xff0c;此文件不能生效#xff0c;需要名称为…1. 下载 官网地址Apache ZooKeeper 点击下载按钮 选择对应的版本进行下载 2. 使用 1、解压 tar -zxf apache-zookeeper-3.9.2-bin.tar.gz2、复制配置文件有一个示例配置文件 conf/zoo_sample.cfg此文件不能生效需要名称为 zoo.cfg 的文件才能生效因此改名复制一份配置文件 cp conf/zoo_sample.cfg conf/zoo.cfg3、修改配置其他配置暂不做修改只重新指定一下 dataDir 的路径 # The number of milliseconds of each tick tickTime2000 # The number of ticks that the initial # synchronization phase can take initLimit10 # The number of ticks that can pass between # sending a request and getting an acknowledgement syncLimit5 # the directory where the snapshot is stored. # do not use /tmp for storage, /tmp here is just # example sakes. #dataDir/tmp/zookeeper dataDir../data # the port at which the clients will connect clientPort21814、启动 ZooKeeper 服务端 ./bin/zkServer.sh start5、ZooKeeper 客户端连接本机连接可以不写 ip:port ./bin/zkCli.sh -server ip:port3. 常用命令 通过 help 命令可查看 ZooKeeper 常用命令 1、创建节点create 命令 在根目录下创建 node1 节点与它关联的内容是字符串 node1 create /node1 node1在 node1 节点下创建 node1.1 节点与它关联的内容是数字 123 create /node1/node1.1 1232、获取节点的数据get 命令 获取 node1 节点下 node1.1 子节点的数据get /node1/node1.1 [zk: localhost:2181(CONNECTED) 7] get /node1/node1.1 1233、更新节点数据内容set 命令 set /node1/node1.1 node1.1-1234、查看节点状态stat 命令 查看 node1 节点的状态stat /node1 [zk: localhost:2181(CONNECTED) 6] stat /node1 cZxid 0x4 ctime Tue Aug 20 17:01:23 CST 2024 mZxid 0x4 mtime Tue Aug 20 17:01:23 CST 2024 pZxid 0x5 cversion 1 dataVersion 0 aclVersion 0 ephemeralOwner 0x0 dataLength 5 numChildren 15、查看某个目录下的子节点ls 命令 查看根目录下的子节点ls / [zk: localhost:2181(CONNECTED) 4] ls / [node1, zookeeper]查看 node1 节点下的子节点和状态ls -s /node1 [zk: localhost:2181(CONNECTED) 9] ls -s /node1 [node1.1] cZxid 0x4 ctime Tue Aug 20 17:01:23 CST 2024 mZxid 0x4 mtime Tue Aug 20 17:01:23 CST 2024 pZxid 0x5 cversion 1 dataVersion 0 aclVersion 0 ephemeralOwner 0x0 dataLength 5 numChildren 16、删除节点delete 命令要删除的节点必须没有子节点才行 删除 node1 节点delete /node1提示该节点不为空 [zk: localhost:2181(CONNECTED) 11] delete /node1 Node not empty: /node1删除 node1 节点下 node1.1 子节点delete /node1/node1.1 [zk: localhost:2181(CONNECTED) 12] delete /node1/node1.14. Curator Curator 是 Netflix 公司开源的一套 ZooKeeper Java 客户端框架相比于 Zookeeper 自带的客户端 zookeeper 来说Curator 的封装更加完善各种 API 都可以比较方便地使用 4.1 引入依赖 版本自行选择 dependencygroupIdorg.apache.curator/groupIdartifactIdcurator-framework/artifactIdversion${curator.version}/version /dependency dependencygroupIdorg.apache.curator/groupIdartifactIdcurator-client/artifactIdversion${curator.version}/version /dependency dependencygroupIdorg.apache.curator/groupIdartifactIdcurator-recipes/artifactIdversion${curator.version}/version /dependency4.2 连接 ZooKeeper 客户端 1、使用工厂类 CuratorFrameworkFactory 的静态 newClient() 方法 import org.apache.curator.RetryPolicy; import org.apache.curator.framework.CuratorFramework; import org.apache.curator.framework.CuratorFrameworkFactory; import org.apache.curator.retry.ExponentialBackoffRetry;/*** Curator 客户端** author GreyFable* since 2024/8/22 11:33*/ public class CuratorClient {public static void main(String[] args) {// 重试策略RetryPolicy retryPolicy new ExponentialBackoffRetry(1000, 3);// 创建客户端实例CuratorFramework client CuratorFrameworkFactory.newClient(localhost:2181, retryPolicy);// 启动客户端client.start();} }2、使用工厂类 CuratorFrameworkFactory 的静态 builder() 构造者方法 import org.apache.curator.RetryPolicy; import org.apache.curator.framework.CuratorFramework; import org.apache.curator.framework.CuratorFrameworkFactory; import org.apache.curator.retry.ExponentialBackoffRetry;/*** Curator 客户端** author GreyFable* since 2024/8/22 11:33*/ public class CuratorClient {public static void main(String[] args) {RetryPolicy retryPolicy new ExponentialBackoffRetry(1000, 3);CuratorFramework client CuratorFrameworkFactory.builder().connectString(localhost:2181)// 会话超时时间.sessionTimeoutMs(5000)// 连接超时时间.connectionTimeoutMs(5000).retryPolicy(retryPolicy).build();client.start();} }4.3 操作 ZooKeeper 1、判断节点是否存在 Stat stat client.checkExists().forPath(/node1/0001); if (null ! stat) {System.out.println(节点已存在); }2、创建节点 通常是将 znode 分为 4 大类 持久PERSISTENT节点 一旦创建就一直存在即使 ZooKeeper 集群宕机直到将其删除临时EPHEMERAL节点 临时节点的生命周期是与 客户端会话session 绑定的会话消失则节点消失 。并且临时节点 只能做叶子节点 不能创建子节点持久顺序PERSISTENT_SEQUENTIAL节点 除了具有持久PERSISTENT节点的特性之外 子节点的名称还具有顺序性。比如 /node1/app0000000001 、/node1/app0000000002临时顺序EPHEMERAL_SEQUENTIAL节点 除了具备临时EPHEMERAL节点的特性之外子节点的名称还具有顺序性 在使用 ZooKeeper 的时候会发现 CreateMode 类中实际有 7 种 znode 类型 但是用的最多的还是上面介绍的 4 种 创建默认持久化节点只有当父节点 /node1 存在时才会成功创建否则会报错 client.create().forPath(/node1/0001);创建指定类型的节点只有当父节点 /node1 存在时才会成功创建否则会报错 client.create().withMode(CreateMode.PERSISTENT).forPath(/node1/0002);父节点不存在时自动创建父节点使用 creatingParentsIfNeeded() 方法 client.create().creatingParentsIfNeeded().withMode(CreateMode.PERSISTENT).forPath(/node1/0003);创建节点并指定数据内容注意数据内容要是 byte 数组 client.create().creatingParentsIfNeeded().withMode(CreateMode.PERSISTENT).forPath(/node1/0004, 0004.getBytes());3、获取节点数据 byte[] bytes client.getData().forPath(/node1/0001);4、更新节点数据 client.setData().forPath(/node1/0001, 0001.getBytes());5、删除节点 删除一个子节点 client.delete().forPath(/node1/0001);删除一个节点以及其下的所有子节点 client.delete().deletingChildrenIfNeeded().forPath(/node1/0001);6、获取某个节点的所有子节点路径 ListString list client.getChildren().forPath(/node1/0001);4.4 监听器 Curator 引入了 Cache 来实现对 Zookeeper 服务端事件监听Cache 事件监听可以理解为一个本地缓存视图与远程 Zookeeper 视图的对比过程分为一下注册类型 NodeCache对某一个节点进行监听对当前节点数据变化进行处理PathChildrenCache对子节点进行监听但是不会对二级子节点进行监听对当前节点的子节点数据变化进行处理TreeCache对当前节点下所有节点进行监听对当前节点的子节点及递归子节点数据变化进行处理 不过在 Curator 5.1.0 以后NodeCache 、PathChildrenCache 、TreeCache 均已被弃用统一使用 CuratorCache 进行所有节点的事件监听对应的方法如下 forCreates()创建forChanges()设值forCreatesAndChanges()创建和设值forDeletes()删除如果删除多级节点会触发多次forAll()所有事件 默认情况下Listener 监听整个子树指定节点及其子节点的事件如果指定了 SINGLE_NODE_CACHE 选项则只监听单个节点的事件 CuratorCache curatorCache CuratorCache.build(client, /node1); // CuratorCache curatorCache CuratorCache.build(client, /node1, CuratorCache.Options.SINGLE_NODE_CACHE);CuratorCacheListener listener CuratorCacheListener.builder().forCreates(childData -System.out.println(create: childData.getPath() new String(childData.getData()))).forChanges((oldNode, node) - System.out.println(change)).forCreatesAndChanges((oldNode, node) - System.out.println(createAndChange)).forDeletes(childData - System.out.println(delete)).forAll((type, oldData, data) - {if (type.name().equals(CuratorCacheListener.Type.NODE_CREATED.name())) {System.out.println(create);} else if (type.name().equals(CuratorCacheListener.Type.NODE_CHANGED.name())) {System.out.println(change);} else if (type.name().equals(CuratorCacheListener.Type.NODE_DELETED.name())) {System.out.println(delete);}}).build();curatorCache.listenable().addListener(listener); curatorCache.start();
http://www.dnsts.com.cn/news/49251.html

相关文章:

  • 漯河网站建设哪家网站运营 流程
  • 黄浦网站设计华为商城官网手机版
  • 天河网站建设专家舞台搭建费用明细
  • 东至网站建设文章网站后台
  • 南京设计网站wordpress酷炫插件
  • 河北建设部官方网站秦皇岛做网站优化
  • 凡科网站怎么做怎么在网上卖东西给外国人
  • 菏泽建设公司网站南昌建网站单位
  • 福建泉州网站建设公司哪家好建筑网址大全网站
  • 赣州做网站推广做百度推广网站多少钱
  • 玉溪建设网站硬件开发外包
  • 黄页游戏引流推广网站php 显示不同网站内容
  • 网站建设与维护模拟一江西航达建设集团网站
  • 淘宝网站内站建设现状linux网站开发
  • 淮阳住房城乡建设局网站网络规划设计的步骤包括哪些
  • 电力建设规范下载网站烟台百度网站排名
  • 网站开发交接资料电商之家官网
  • 正规网站建设咨询电话响应式网站的优点
  • 汕头网站建设网站推广编程app免费
  • 中鼎国际建设集团网站wordpress 页面改造
  • 如何规范网站使用网络运维面试题
  • 可以做图片视频的网站发布网页
  • 广州网站建设定制设计开网店无货源
  • 网站怎么做框架集全球访问量最大的网站
  • 帮人做微信是哪个网站网络软件
  • 做期货网站违法的吗想看装修效果图在哪里看
  • 怎么下载网站源码网站数据分析视频
  • 如何做一张图片的网站缪斯形象设计高级定制
  • 嘉兴英文网站建设seo网站推广方法
  • 网站开发后台服务器功能哈尔滨工程招投标信息网