zookeeper服务器动态上下线代码怎么写
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,今天就跟大家聊聊有关zookeeper服务器动态上下线代码怎么写,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。服务端:package com.
千家信息网最后更新 2025年12月02日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 List serverList = 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安全错误
数据库的锁怎样保障安全
车尚汇互联网科技
数据库系统故障的应急演练方案
网络技术雇用app
前三季网络安全融资
广东企业软件开发市价
服务器安全模式界面
管理系统软件开发收费
王者荣耀服务器维护s14
网络安全运营效率评价
清除数据库表里面的数据
考试软件开发文档
我的世界4g网络进不了服务器
数据库表应如何排查
金山区工业软件开发解决方案
招标数据库
linux 远程数据库
西安壹新互联网科技有限公司
安卓软件开发声明变量
巴彦淖尔市网络安全处置
女人服务器真大
软件开发免费培训 签约2年
cs 服务器 命令
归来小说软件开发
株洲广播电视台网络安全
左岭软件开发工程师招聘
软件开发自动点击
家里wifi告诉别人网络安全吗
拓尔思概念网络安全
app软件开发招聘广告
软件开发过程中的例图