java_api操作zookeeper节点
来源:互联网 发布:金英杰免费网络课登录 编辑:程序博客网 时间:2024/05/22 06:18
package com.sanlen.zookeeper.test;
import java.util.Iterator;
import java.util.List;
import org.apache.zookeeper.CreateMode;
import org.apache.zookeeper.KeeperException;
import org.apache.zookeeper.ZooDefs.Ids;
import org.apache.zookeeper.ZooKeeper;
import org.apache.zookeeper.data.Stat;
import org.junit.Before;
import org.junit.Test;
import com.google.gson.Gson;
public class ZookeeperTest1 {
ZooKeeper zk=null;
@Before
public void init() throws Exception{
zk=new ZooKeeper("wmxpc1:2181,wmxpc2:2181,wmxpc3:2181",2000,null);
}
/**
*增加节点
* @throws Exception
*/
@Test
public void createNode() throws Exception{
//创建临时的带序号的节点
// String create = zk.create("/eclipse/aaa", "1212".getBytes("utf-8"), Ids.OPEN_ACL_UNSAFE, CreateMode.EPHEMERAL_SEQUENTIAL);
//创建永久的带序号的节点
// String create = zk.create("/persistent", "1212".getBytes("utf-8"), Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT_SEQUENTIAL);
//创建临时的不带序号的节点
// String create = zk.create("/ephemeral", "1212".getBytes("utf-8"), Ids.OPEN_ACL_UNSAFE, CreateMode.EPHEMERAL);
//创建永久的不带序号的
String create = zk.create("/ephemeral", "1212".getBytes("utf-8"), Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
System.out.println(create);
Thread.sleep(8000);
zk.close();
}
/**
*删除节点
* @throws Exception
*/
@Test
public void delNode() throws Exception{
zk.delete("/ephemeral", -1);
zk.close();
}
/**
* 修改节点
* @throws Exception
*/
@Test
public void testSetData() throws Exception{
Stat setData = zk.setData("/eclipse", "eclipse vs idea".getBytes(), -1);
byte[] data = zk.getData("/eclipse", false, null);
System.out.println(new String(data,"utf-8"));
zk.close();
}
/**
* 判断一个节点是否存在
* @throws Exception
*/
@Test
public void testExist() throws Exception{
Stat exists = zk.exists("/eclipse/eee", false);
System.out.println(exists==null?"不存在":"存在");
zk.close();
}
/**
* 查询目录下的字节点
* @throws Exception
*/
@Test
public void testGetChildren() throws Exception{
List<String> child = zk.getChildren("/", false);
for (String string : child) {
System.out.println(string);
}
zk.close();
}
/**
* 存储一个对象的到zookeeper中
* @throws Exception
*/
@Test
public void testPutObjectIntoZookeeper() throws Exception{
Person p1=new Person("angleBaby");
Gson gson=new Gson();
String json=gson.toJson(p1);
Stat setData = zk.setData("/aaa", json.getBytes(), -1);
byte[] data = zk.getData("/aaa", false, null);
String jsonBack=new String(data);
Person p = gson.fromJson(jsonBack,Person.class);
System.out.println(p.getName());
zk.close();
}
/**
* 查询节点的值
* @param args
* @throws Exception
*/
public static void main(String[] args) throws Exception {
ZooKeeper zooKeeper = new ZooKeeper("wmxpc1:2181,wmxpc2:2181,wmxpc3:2181",2000,null);
byte[] data = zooKeeper.getData("/aaa/bbb", false, null);
System.err.println(new String(data));
zooKeeper.close();
}
}
import java.util.Iterator;
import java.util.List;
import org.apache.zookeeper.CreateMode;
import org.apache.zookeeper.KeeperException;
import org.apache.zookeeper.ZooDefs.Ids;
import org.apache.zookeeper.ZooKeeper;
import org.apache.zookeeper.data.Stat;
import org.junit.Before;
import org.junit.Test;
import com.google.gson.Gson;
public class ZookeeperTest1 {
ZooKeeper zk=null;
@Before
public void init() throws Exception{
zk=new ZooKeeper("wmxpc1:2181,wmxpc2:2181,wmxpc3:2181",2000,null);
}
/**
*增加节点
* @throws Exception
*/
@Test
public void createNode() throws Exception{
//创建临时的带序号的节点
// String create = zk.create("/eclipse/aaa", "1212".getBytes("utf-8"), Ids.OPEN_ACL_UNSAFE, CreateMode.EPHEMERAL_SEQUENTIAL);
//创建永久的带序号的节点
// String create = zk.create("/persistent", "1212".getBytes("utf-8"), Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT_SEQUENTIAL);
//创建临时的不带序号的节点
// String create = zk.create("/ephemeral", "1212".getBytes("utf-8"), Ids.OPEN_ACL_UNSAFE, CreateMode.EPHEMERAL);
//创建永久的不带序号的
String create = zk.create("/ephemeral", "1212".getBytes("utf-8"), Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
System.out.println(create);
Thread.sleep(8000);
zk.close();
}
/**
*删除节点
* @throws Exception
*/
@Test
public void delNode() throws Exception{
zk.delete("/ephemeral", -1);
zk.close();
}
/**
* 修改节点
* @throws Exception
*/
@Test
public void testSetData() throws Exception{
Stat setData = zk.setData("/eclipse", "eclipse vs idea".getBytes(), -1);
byte[] data = zk.getData("/eclipse", false, null);
System.out.println(new String(data,"utf-8"));
zk.close();
}
/**
* 判断一个节点是否存在
* @throws Exception
*/
@Test
public void testExist() throws Exception{
Stat exists = zk.exists("/eclipse/eee", false);
System.out.println(exists==null?"不存在":"存在");
zk.close();
}
/**
* 查询目录下的字节点
* @throws Exception
*/
@Test
public void testGetChildren() throws Exception{
List<String> child = zk.getChildren("/", false);
for (String string : child) {
System.out.println(string);
}
zk.close();
}
/**
* 存储一个对象的到zookeeper中
* @throws Exception
*/
@Test
public void testPutObjectIntoZookeeper() throws Exception{
Person p1=new Person("angleBaby");
Gson gson=new Gson();
String json=gson.toJson(p1);
Stat setData = zk.setData("/aaa", json.getBytes(), -1);
byte[] data = zk.getData("/aaa", false, null);
String jsonBack=new String(data);
Person p = gson.fromJson(jsonBack,Person.class);
System.out.println(p.getName());
zk.close();
}
/**
* 查询节点的值
* @param args
* @throws Exception
*/
public static void main(String[] args) throws Exception {
ZooKeeper zooKeeper = new ZooKeeper("wmxpc1:2181,wmxpc2:2181,wmxpc3:2181",2000,null);
byte[] data = zooKeeper.getData("/aaa/bbb", false, null);
System.err.println(new String(data));
zooKeeper.close();
}
}
阅读全文
0 0
- java_api操作zookeeper节点
- java_API
- Zookeeper 节点操作,storm 启动
- zookeeper建立节点的操作
- Zookeeper(五)Java客户端节点操作
- ZooKeeper 节点
- zookeeper 节点
- ZooKeeper客户端脚本zkCli.sh的节点操作
- zookeeper安装(单节点)及基本操作
- 集群之 -- zookeeper -JAVA小例子 节点的操作
- Zookeeper命令行操作(常用命令;客户端连接;查看znode路径;创建节点;获取znode数据,查看节点内容,设置节点内容,删除节点;监听znode事件;telnet连接zookeeper)
- zookeeper学习心得一:基础讲解---zk节点类型以及对节点的相应操作
- Zookeeper客户端基本操作java实现——创建连接、创建节点、添加修改节点内容、获取子节点、获取节点数据、删除节点
- ZooKeeper 节点类型
- Zookeeper节点类型
- 分析Storm-zookeeper节点
- Zookeeper节点类型
- ZooKeeper 节点类型
- 单链表实现一元多项式乘法
- 【UWP开发】unity发布win10报错Exception: Failed to restore NuGet packages
- 【CUGBACM15级BC第22场 A】hdu 5142 NPY and FFT
- FZU 2282 Wand(错排+费马小定理)
- 正则表达式
- java_api操作zookeeper节点
- javascript知识点函数及对象的基本介绍
- 考研路茫茫——单词情结 HDU
- USACO-2017-JAN-金组 Cow Navigation
- 2017"百度之星"程序设计大赛
- ShaderLab: Culling & Depth Testing
- 计算几何基础
- Leetcode最大形状面积的三题
- Coap协议介绍,及其开源实现Californium实战