zookeeper服务器动态上下线代码怎么写
发表于:2025-02-04 作者:千家信息网编辑
千家信息网最后更新 2025年02月04日,今天就跟大家聊聊有关zookeeper服务器动态上下线代码怎么写,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。服务端:package com.
千家信息网最后更新 2025年02月04日zookeeper服务器动态上下线代码怎么写
今天就跟大家聊聊有关zookeeper服务器动态上下线代码怎么写,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
服务端:package com.hgs.test;import java.io.IOException;import java.util.List;import org.apache.zookeeper.CreateMode;import org.apache.zookeeper.KeeperException;import org.apache.zookeeper.WatchedEvent;import org.apache.zookeeper.Watcher;import org.apache.zookeeper.Watcher.Event.EventType;import org.apache.zookeeper.ZooDefs.Ids;import org.apache.zookeeper.ZooKeeper;public class ZKserver {private ZooKeeper zk = null; private final static String connectString = "192.168.6.131:2181,192.168.6.132:2181,192.168.6.133:2181"; private final static int sessionTimeout = 2000; private final static String parentNode="/servers"; public static void main(String[] args) { ZKserver zkserver = new ZKserver(); zkserver.getConnect(); zkserver.register(args[0]); zkserver.doSomthing();}public void getConnect() {try {zk = new ZooKeeper(connectString, sessionTimeout, new Watcher() {@Overridepublic void process(WatchedEvent event) {try {if (zk.exists(parentNode,false)==null) {System.out.println(zk.getChildren("/", true));}else {if(event.getType()==EventType.NodeChildrenChanged) {try {System.out.println(zk.getChildren(parentNode, true)+ event.getType().toString()+" "+(event.getType()==EventType.NodeChildrenChanged));} catch (Exception e) { // TODO Auto-generated catch blocke.printStackTrace();}}}} catch (Exception e2) {// TODO Auto-generated catch blocke2.printStackTrace();} }});} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}public void register(String host) {try {if(zk.exists(parentNode,false)==null ) {zk.create(parentNode, null, Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);}zk.create(parentNode+"/server", host.getBytes(), Ids.OPEN_ACL_UNSAFE, CreateMode.EPHEMERAL_SEQUENTIAL);} catch (Exception e) {// TODO Auto-generated catch blockSystem.out.println("register sever failed !");System.exit(1);}}public void doSomthing() {System.out.println("doSomething......");try {Thread.sleep(Long.MAX_VALUE);} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}服务端:package com.hgs.test;import java.io.IOException;import java.util.ArrayList;import java.util.List;import org.apache.zookeeper.KeeperException;import org.apache.zookeeper.WatchedEvent;import org.apache.zookeeper.Watcher;import org.apache.zookeeper.ZooKeeper;import org.apache.zookeeper.data.Stat;public class ZKclient {private ZooKeeper zk = null; private final static String connectString = "192.168.6.131:2181,192.168.6.132:2181,192.168.6.133:2181"; private final static int sessionTimeout = 2000; private volatile ListserverList = new ArrayList (); private final static String parentNode="/servers"; int i = 10;public static void main(String[] args) {ZKclient client = new ZKclient();client.getConnect();client.getServerList();client.doSomething();}public void getConnect() {try {zk = new ZooKeeper(connectString, sessionTimeout, new Watcher(){@Overridepublic void process(WatchedEvent event) {try {Stat st = zk.exists(parentNode, true);//System.out.println(st);if(st!=null) {getServerList();}else { zk.getChildren("/", true);}} catch (KeeperException | InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}}});} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}public void getServerList() {List ls = new ArrayList ();try {Stat st = zk.exists(parentNode, true);if(st!=null) {for(String str:zk.getChildren(parentNode, true)) {String hosts = new String(zk.getData(parentNode+"/"+str, false , null));ls.add(hosts);}}else {zk.getChildren("/", true);}} catch (KeeperException | InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}serverList = ls;System.out.println(ls);}public void doSomething() {System.out.println(serverList);try {Thread.sleep(Long.MAX_VALUE);} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}
看完上述内容,你们对zookeeper服务器动态上下线代码怎么写有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。
服务
内容
下线
代码
动态
服务器
更多
知识
篇文章
行业
资讯
资讯频道
频道
进一
支持
有关
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
软件开发项目投资评估
北京网络安全大会议程
打印数据库报表
云南华中世纪互联网科技公司
文件服务器安全管理
三级计算机网络技术课程
宝山区网络营销软件开发质量保障
gog服务器
因特网网络技术
亚马逊云服务器上传本地文件
sql数据库 的应用
电脑做微信小程序服务器
基础数据库操作指令
粒度仪上数据库被覆盖
数据库的基本操作说法正确的是
苹果安卓开发软件开发
武汉职业学院计算机网络技术专业
老电视能装服务器吗
大量不明ip访问邮件服务器
传奇架设服务器日期错误
重启数据库服务器配置
石墨文档服务器维护时间
江苏什么是软件开发调试
浙江运营网络技术服务单价
不同网段访问服务器
海淀网络安全白皮书
大班沉迷网络安全教案
cp服务器异常是什么意思
mesh 医学数据库
消防网络安全直播公开课