java zookeeper_Java zookeeper开发实例
1、安装zookeeper
下载zk http://archive.cloudera.com/cdh5/cdh/5/
配置文件tickTime=2000
initLimit=10
syncLimit=5
# zk数据保存目录
dataDir=/usr/local/zookeeper/data
clientPort=2181
启动:
bin/zkServer.sh start
客户端命令行链接:
bin/zkCli.sh
2、拷贝zookeeper下的jar包,到应用程序,并使用maven引入相关jar包
org.slf4j
slf4j-api
1.7.25
org.apache.zookeeper
zookeeper
3.4.5-cdh5.10.0
system
${project.basedir}/lib/zookeeper-3.4.5-cdh5.10.0.jar
java 代码import org.apache.zookeeper.CreateMode;
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;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class ZookeeperContext {
protected static Logger logger = LoggerFactory.getLogger("zk");
public final int SESSION_TIME_OUT = 2000;
public ZooKeeper zk;
/**
* 判断zk的链接链接状态
* */
public boolean isConnected(){
return zk.getState() == ZooKeeper.States.CONNECTED;
}
/**
* 创建zk链接
* **/
public ZookeeperContext(String connectString) {
try {
/**
* connectString 链接zookeeper的Ip和端口,多个用逗号隔开例如:
* 10.0.0.104:2181,10.0.0.105:2181 sessionTimeout
* 客户端和zookeeper链接断开后,数据最长保存的时间 watcher 监控回调,服务器数据修改会回调
*/
zk = new ZooKeeper(connectString, SESSION_TIME_OUT, new ZookeeperWatcher());
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* zk监听,如果服务器端有什么变化到这里接收
* 并继续添加监听
* */
public class ZookeeperWatcher implements Watcher {
@Override
public void process(WatchedEvent event) {
try {
if(null != event.getPath()){
System.out.println( event );
if(event.getType() == EventType.NodeChildrenChanged){
zk.getChildren(event.getPath(), true) ;
}else{
zk.getData(event.getPath(), true, null) ;
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
/**
* 在zk创建数据
* */
public void setData(String path,byte[]data , CreateMode createMode){
try {
if(zk.exists(path, false) == null){
zk.create(path, data, Ids.OPEN_ACL_UNSAFE, createMode) ;
}else{
zk.setData(path,data,-1);
}
zk.getChildren(path, true) ;
} catch (Exception e) {
logger.error("setData", e );
}
}
public static void main(String[] args)throws Exception {
ZookeeperContext context = new ZookeeperContext("10.0.0.104:2181");
while (!context.isConnected()) {
Thread.sleep(3000);
}
context.setData("/root", "1".getBytes(),CreateMode.PERSISTENT);
context.setData("/root/hpgary", "gg".getBytes() , CreateMode.EPHEMERAL);
System.err.println("eee");
System.in.read() ;
}
}
项目运行截图:
java zookeeper_Java zookeeper开发实例相关推荐
- java接口api开发实例_APIExample
Api Example 以API接口开发为例,探索开发的最佳实践 分支列表 分支名称 说明 api-result-sample api-result结合Spring Boot使用实例 默认启用端口 9 ...
- java restful接口开发实例_实战:基于Spring Boot快速开发RESTful风格API接口
写在前面的话 这篇文章计划是在过年期间完成的,示例代码都写好了,结果亲戚来我家做客,文章没来得及写.已经很久没有更新文章了,小伙伴们,有没有想我啊.言归正传,下面开始,今天的话题. 目标 写一套符合规 ...
- java restful接口开发实例_Spring Boot 中 10 行代码构建 RESTful 风格应用!
点击上方"Java后端技术",选择"置顶或者星标" 你关注的就是我关心的! 作者:江南一点雨 微信公众号:牧码小子(ID:a_javaboy) 推荐阅读:10个 ...
- Java小程序开发实例!字节跳动Java岗经典面试真题,实战解析
前言 总有一天你会明白,你的努力终究没有白费 年前辞职,人算不如天算,突如其来的疫情完全把自己的计划给打碎了,面试难度简直不亚于一场江苏高考题,后悔.焦虑不安.失眠成了我的生活状态. 从三月底开始投递 ...
- 个人财务管理系统——Java期末项目开发实例
本次Java期末课程设计题目为个人财务管理系统,在已编辑成型的图形界面上通过添加代码实现用户密码修改.用户登录.账户信息增删改等操作,出于对Java文件和流相关知识考查,本项目使用了文件而非数据库作为 ...
- java app后台开发实例_支付宝app-java后台
@ApiOperation(value= "支付宝预支付", httpMethod= "POST") @PostMapping(value= "/al ...
- Java手机游戏开发简明教程 (SunJava开发者认证程序员 郎锐)
原文发布时间为:2008-07-30 -- 来源于本人的百度文章 [由搬家工具导入] Java手机游戏开发实例简明教程 (SunJava开发者认证程序员 郎锐) 一.手机游戏编写基础 1.手机游戏设计 ...
- JAVA :RESTLET开发实例(一)基于JAX-RS的REST服务
本文转自http://www.cnblogs.com/redmondfan/p/3209290.html,所有权力归原作者所有. RESTLET介绍 Restlet项目为"建立REST概念与 ...
- Java Web 后台中餐饮业报表系统开发实例
本期葡萄城公开课,我们诚邀石家庄品智技术有限公司,高级软件工程师--刘永政先生,为大家在线分享餐饮业报表系统设计模式,以及在 HTML5 报表浏览器.Java 架构中跨平台使用ActiveReport ...
最新文章
- div嵌套div 背景图片 不显示的问题
- Spring系列之bean的使用
- 李沐老师的《动手学深度学习PyTorch》中的d2lzh_python包的安装
- 掰一掰GitHub上优秀的大数据项目
- 以下属于单例模式的优点的是_单例模式的优缺点和使用场景
- mysql本地数据库地址_mysql数据库本地地址
- el-descriptions文本水平垂直居中
- 麻省理工的服务器位置,美国麻省理工大学位置在哪里?
- esxi怎么传输文件到虚拟机_软路由篇2:3865U软路由折腾记——Esxi软虚拟机+OpenWrt教程
- Git入门与进阶 - 总览
- 微信播放在服务器视频无法播放音乐,解决ios微信浏览器中audio和video音乐视频无法自动播放等问题...
- 有图书馆有计算机教室的英语,以my school为题的英语作文有图书馆,办公室,音乐室,教室,体育馆...
- 计算机ei浏览器没有了,ie浏览器不见了_我的电脑桌面上怎么IE浏览器没有了啊...
- 解决因蓝牙驱动版本问题无法升win10问题 (附 WIN7升级WIN10超详细步骤 及 升级后个别问题软件处理方法)
- My future of programming
- mysql+php+模板+条目_html模板
- python高级编程
- 全力推进加速到来的机器人时代 2022
- m车载自组织网络(Vehicular Ad-hoc Network,VANET)通信系统的matlab仿真
- 关于TCP同时打开-无需Listener的TCP连接建立过程
热门文章
- BitCask 持久化hash存储引擎 原理介绍
- leetcode-55 跳跃游戏
- Linux命令行与shell脚本编程大全:第2版
- shell脚本中判断上一个命令是否执行成功
- Ubuntu终端命令行缩短显示路径
- 2016多校赛2 A 数学推公式 E 极角排序,组合数(待补) L dp+bitset优化
- bzoj 4771: 七彩树 树链的并+可持久化线段树
- web标准,我们去向何方?一些想法...
- css布局中的居中问题
- DataGrid连接Access的快速分页法(1)——需求与现状