文档章节

zokkeeper的安装配置、简单操作

Cobbage
 Cobbage
发布于 2018/06/27 22:10
字数 555
阅读 5689
收藏 1

下载地址

  1. zekserver.cmd指定jdk
set JAVA_HOME=C:\\Program Files\\Java\\jdk1.8.0_144
  1. 修改配置文件
conf/zoo_sample.cfg重命名为 zoo.cfg


# 心跳检测
tickTime=2000
#leader和follower初始化连接时最长能忍受多少个心跳时间的间隔数
initLimit=10 
# leader和follower之间发送消息,请求和应达时间长度,最长不能超过多少个tickTime的时间长度
syncLimit=5
# Zookeeper 保存数据的目录.
dataDir=F:\\zookeeper\\data
# 日志目录
dataDirLog=F:\\zookeeper\\log
# 客户端链接的端口
clientPort=2181

3.客户端链接

zkCli -server 127.0.0.1:2181
客户端可以执行命令

create [-s] [-e] path data acl 
-s表示创建顺序节点 
-e表示创建临时节点 
data 数据
acl 权限

4.客户端代码操作

Znode的创建模式CreateMode有四种,分别是:EPHEMERAL(短暂的znode)、EPHEMERAL_SEQUENTIAL(短暂的顺序znode)、PERSISTENT(持久的znode)和PERSISTENT_SEQUENTIAL(持久的顺序znode)

public static void main(String[] args) throws IOException, KeeperException, InterruptedException {
	        // 创建一个与服务器的连接
	        ZooKeeper zk = new ZooKeeper("127.0.0.1:2181", 5000, new Watcher() {
	            // 监控所有被触发的事件
	            public void process(WatchedEvent event) {
	                System.out.println("已经触发了" + event.getType() + "事件!");
	            }
	        });
			//认证
			//zk.addAuthInfo("digest", "guest:guest123".getBytes());  
	        // 创建一个目录节点 ==>已经触发了 None 事件!
	        zk.create("/testRootPath", "testRootData".getBytes(), Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
	        // 创建一个子目录节点
	        zk.create("/testRootPath/testChildPathOne", "testChildDataOne".getBytes(), Ids.OPEN_ACL_UNSAFE,
	                CreateMode.PERSISTENT);

	        // testRootData 此处false 不触发事件
	        System.out.println(new String(zk.getData("/testRootPath", false, null)));

	        // 取出子目录节点列表 ==>[testChildPathOne] 在节点/testRootPath的getChildren上设置观察
	        System.out.println(zk.getChildren("/testRootPath", true));

	        // 修改子目录节点数据 由于上面的修改数据不触发观察 这边不执行事件
	        zk.setData("/testRootPath/testChildPathOne", "modifyChildDataOne".getBytes(), -1);

	        // 目录节点状态:[5,5,1281804532336,1281804532336,0,1,0,0,12,1,6]
	        System.out.println("目录节点状态:[" + zk.exists("/testRootPath", true) + "]");

	        // 创建另外一个子目录节点 ==>已经触发了 NodeChildrenChanged 事件!
	        zk.create("/testRootPath/testChildPathTwo", "testChildDataTwo".getBytes(), Ids.OPEN_ACL_UNSAFE,
	                CreateMode.PERSISTENT);

	        // testChildDataTwo
	        System.out.println(new String(zk.getData("/testRootPath/testChildPathTwo", true, null)));

	        // 删除子目录节点 已经触发了 NodeDeleted 事件!

	        zk.delete("/testRootPath/testChildPathTwo", -1);
	        zk.delete("/testRootPath/testChildPathOne", -1);
	        // 删除父目录节点 已经触发了 NodeDeleted 事件!
	        zk.delete("/testRootPath", -1);
	        // 关闭连接
	        zk.close();
	    }

© 著作权归作者所有

共有 人打赏支持
下一篇: TCP的RPC
Cobbage

Cobbage

粉丝 51
博文 146
码字总数 73307
作品 1
闵行
QA/测试工程师
私信 提问
zookeeper集群和单机版搭建

zookeeper 单机版安装 cd zookeeper-3.4.8 #创建数据存放目录 mkdir data #创建日志存放目录 mkdir log cd conf #修改配置文件 cp zoosample.cfg ./zoo.cfg vim zoo.cfg tickTime=2000 initL......

黄信程
2017/06/24
0
0
Python开发环境搭建配置

前言 工欲善其事必先利其器 Python开发的第一步就是开发环境的搭建配置了,一个清晰流畅并且简单的配置过程会让我们在Python的学习之路开个好头,你会更有信心使用它的。 注意,本篇虽然是介...

Ihesong
2018/01/06
0
0
关于mysql绿色版的安装操作

mysql有傻瓜式的安装和绿色安装两种版本的: 傻瓜式 傻瓜式的安装只是需要进行设置安装的路径,服务器的种类,账号和密码,访问的类型等等基本的操作,其设置也是简单的进行按钮的事件触发的...

小老傅
2014/09/11
0
0
Python3安装Pymongo

本篇教程展示如何安装Pymongo库,编辑器使用的当然是pycharm。 博客文章地址:https://weiya.me/item/66.html 准备 我们这里直接使用pycharm来安装Pymongo库,和pycharm的mongodb相关管理插件...

星空幻颖
2017/05/24
0
0
高级搜索插件solis search在umbraco中的使用

好久没有写关于umbraco的博客了,这段时间在研究solis search,感觉它太强大,好东西是需要分享的,所以写一篇简单的使用博客分享给个人umbraco爱好者。 简介 在了解solis search之前,我们需...

bowenhuang
2014/12/14
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Akka实战:HTTP大文件断点上传、下载,秒传

访问:https://github.com/yangbajing/scala-applications/tree/master/file-upload 获取本文所述完整源码,包括Akka HTTP后端和HTML5实现的前端。 在很多应用里面都会有类似大文件上传的需求...

羊八井
22分钟前
0
0
node:event-loop & 宏任务 & 微任务

event-loop(事件轮询) 代码进入执行栈后会判断当前代码是同步任务还是异步任务,如果是同步任务则会将任务调到主线程同步执行,如果是异步任务则会将任务调到异步队列中。 主线程同步任务执...

小草先森
26分钟前
0
0
php-fpm配置文件详解

php-fpm配置文件详解 php-fpm配置文件路径: /usr/local/php-fpm/etc/php-fpm.conf ,还包含了一个配置文件路径下的所有以.conf结尾的配置文件(子配置文件)/usr/local/php-fpm/etc/php-fp...

李超小牛子
48分钟前
4
0
排序-堆排序

在说明堆排序的过程前得先了解什么是堆: 先看下图(来源于java数据结构和算法(第二版)): 堆是个完全二叉树,并且父节点总是大于(小于)它的孩子,因此根节点永远是最大或者最小的元素。...

FAT_mt
今天
3
0
matlab-自控原理 秩判据 能观性 已知线性定常系统的A和C矩阵

  matlab : R2018a 64bit     OS : Windows 10 x64 typesetting : Markdown    blog : my.oschina.net/zhichengjiu    gitee : gitee.com/zhichengjiu   code clearclc% x'=A*x......

志成就
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部