用java操作zookeeper

package cn.sniper.zookeeper;
import java.io.IOException;
import java.util.List;
import java.util.TreeSet;
import org.apache.zookeeper.CreateMode;
import org.apache.zookeeper.KeeperException;
import org.apache.zookeeper.WatchedEvent;
import org.apache.zookeeper.Watcher;
import org.apache.zookeeper.ZooDefs;
import org.apache.zookeeper.ZooKeeper;
import org.junit.Test;
public class ZookeeperUtil {
 
 @Test
 public void helloword() {
  //端口默认是2181
  //String connectString = "192.168.1.231";
  String connectString = "192.168.1.231:2181";
  int sessionTimeout = 20000;
  
  try {
   ZooKeeper zk = new ZooKeeper(connectString, sessionTimeout, new Watcher() {
    public void process(WatchedEvent event) {
     System.out.println(event);
    }
   });
   
   System.out.println(zk);
   zk.close();
  } catch (IOException e) {
   e.printStackTrace();
  } catch (InterruptedException e) {
   e.printStackTrace();
  }
 }
 
 @Test
 public void create() {
  String connectString = "192.168.1.231:2181";
  int sessionTimeout = 20000;
  
  try {
   ZooKeeper zk = new ZooKeeper(connectString, sessionTimeout, new Watcher() {
    public void process(WatchedEvent event) {
     System.err.println("事件类型:" + event.getType());
    }
   });
   
   //创建节点 
   zk.create("/sniper1", "".getBytes(), ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
   
   zk.close();
  } catch (IOException e) {
   e.printStackTrace();
  } catch (InterruptedException e) {
   e.printStackTrace();
  } catch (KeeperException e) {
   e.printStackTrace();
  }
 }
 
 @Test
 public void fifoIn() {
  String connectString = "192.168.1.231,192.168.1.232,192.168.1.233";
  int sessionTimeout = 20000;
  
  try {
   ZooKeeper zk = new ZooKeeper(connectString, sessionTimeout, new Watcher() {
    public void process(WatchedEvent event) {
     System.err.println("事件类型:" + event.getType());
    }
   });
   
   //每个客户端连进来的时候,都在fifo下创建一个有序节点  模拟10个客户端连接进入
   for(int i=0; i<10; i++) {
    zk.create("/fifo/", String.valueOf(System.currentTimeMillis()).getBytes(), ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT_SEQUENTIAL);
   }
   
   zk.close();
  } catch (IOException e) {
   e.printStackTrace();
  } catch (InterruptedException e) {
   e.printStackTrace();
  } catch (KeeperException e) {
   e.printStackTrace();
  }
 }
 
 @Test
 public void fifoOut() {
  String connectString = "192.168.1.231,192.168.1.232,192.168.1.233";
  int sessionTimeout = 30000;
  
  try {
   ZooKeeper zk = new ZooKeeper(connectString, sessionTimeout, new Watcher() {
    public void process(WatchedEvent event) {
     System.err.println("事件类型:" + event.getType());
    }
   });
   
   List<String> children = zk.getChildren("/fifo", new Watcher() {
    public void process(WatchedEvent event) {
     System.err.println("事件类型:" + event.getType());
    }
   });
   
   //由于节点的有序性,将节点用treeSet排序一下,取得第一个元素,就可以做到先进先出队列了
   TreeSet<String> set = new TreeSet<String>(children);
   
   String child = set.first();
   
   System.err.println(child);
   
   zk.delete("/fifo/"+child, -1);
   
   zk.close();
  } catch (IOException e) {
   e.printStackTrace();
  } catch (InterruptedException e) {
   e.printStackTrace();
  } catch (KeeperException e) {
   e.printStackTrace();
  }
 }
 
}
时间: 2024-10-11 06:33:34

用java操作zookeeper的相关文章

java操作zookeeper

package com.ikilun.web.controller; import java.io.IOException; import org.apache.zookeeper.CreateMode; import org.apache.zookeeper.KeeperException; import org.apache.zookeeper.WatchedEvent; import org.apache.zookeeper.Watcher; import org.apache.zooke

Java代码操作zookeeper

以下为一个完整JAVA操作Zookeeper项目步骤: 1. 项目中pom.xml中添加需要的依赖jar包信息 <dependencies> <dependency> <groupId>org.apache.zookeeper</groupId> <artifactId>zookeeper</artifactId> <version>3.4.9</version> </dependency> <

java操作hbase例子

hbase安装方法请参考:hbase-0.94安装方法详解 hbase常用的shell命令请参考:hbase常用的shell命令例子 java操作hbase,在eclipse中创建一个java项目,将hbase安装文件根目录的jar包和lib目录下jar包导入项目,然后就可以编写java代码操作hbase了.下面代码给出来一个简单的示例 /** * @date 2015-07-23 21:28:10 * @author sgl */ package com.songguoliang.hbase;

storm操作zookeeper源码分析-cluster.clj

storm操作zookeeper的主要函数都定义在命名空间backtype.storm.cluster中(即cluster.clj文件中).backtype.storm.cluster定义了两个重要protocol:ClusterState和StormClusterState.clojure中的protocol可以看成java中的接口,封装了一组方法.ClusterState协议中封装了一组与zookeeper进行交互的基础函数,如获取子节点函数,获取子节点数据函数等,ClusterState协

客户端操作zookeeper服务代码示例

本文主要贴出通过zookeeper的客户端类访问zookeeper的示例,以及其它第三方更高层次的封装的客户端使用. 1.通过org.apache.zookeeper.ZooKeeper来操作zookeeper服务 有关zookeeper服务的部署参见文:http://aiilive.blog.51cto.com/1925756/1684145 下文将有代码示例展示通过编码方式在应用中启动zookeeper服务. ZooKeeper类对zookeeper服务的简单操作示例代码如下: packag

Hadoop之——Java操作HBase

转载请注明出处:http://blog.csdn.net/l1028386804/article/details/46463617 不多说,直接上代码,大家都懂得 package hbase; import java.io.IOException; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.HBaseConfiguration; import org.apache.hadoop.hbas

Java操作hbase总结

用过以后,总得写个总结,不然,就忘喽. 一.寻找操作的jar包. java操作hbase,首先要考虑到使用hbase的jar包. 因为咱装的是CDH5,比较方便,使用SecureCRT工具,远程连接到你安装的那台服务器上. jar包的存放位置在/opt/cloudera/parcels/CDH/lib/hbase,找到,下载下来. 在当前路径下,有一个lib包,里面是支持hbase的hadoop的jar包,根据需求,可以下载下来. 二.找一个API文档当成手册,哪里不会查哪里 百度分享,http

java操作Hbase实例

所用HBase版本为1.1.2,hadoop版本为2.4 /* * 创建一个students表,并进行相关操作 */ import java.io.IOException; import java.util.ArrayList; import java.util.List; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.HBaseConfiguration; import org.apach

java操作hbase样例

hbase安装方法请參考:hbase-0.94安装方法具体解释 hbase经常使用的shell命令请參考:hbase经常使用的shell命令样例 java操作hbase,在eclipse中创建一个java项目.将hbase安装文件根文件夹的jar包和lib文件夹下jar包导入项目,然后就能够编写java代码操作hbase了. 以下代码给出来一个简单的演示样例 /** * @date 2015-07-23 21:28:10 * @author sgl */ package com.songguol