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.zookeeper.ZooDefs.Ids;
import org.apache.zookeeper.ZooKeeper;
import org.apache.zookeeper.data.Stat;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class ZookeeperClientController {
	private String HOST = "192.168.100.108:2181";
	private int sessionTimeout = 3000;
	private ZooKeeper zk;
	private void initZk() {
		try {
			zk = new ZooKeeper(HOST, sessionTimeout, new Watcher() {
				@Override
				public void process(WatchedEvent event) {
					String path = event.getPath();
					System.out.println("watch:" + event.getType() + ",path:"
							+ path);
				}
			});
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
	//新建znode节点
	@RequestMapping("/zk/create")
	public String create(String path, String data) {
		if (zk == null) {
			initZk();
		}
		try {
			String result = zk.create(path, data.getBytes(),
					Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
			return result;
		} catch (KeeperException | InterruptedException e) {
			e.printStackTrace();
		}
		return "failure";
	}
	//get znode节点数据
	@RequestMapping("/zk/get")
	public String get(String path) {
		if (zk == null) {
			initZk();
		}
		String result = null;  
        try {  
            byte[] bytes = zk.getData(path, null, null);  
            result = new String(bytes);  
       } catch (Exception e) {  
            e.printStackTrace();
       }
		return result;
	}
	//set znode节点数据
	@RequestMapping("/zk/set")
	public String set(String path, String data) {
		if (zk == null) {
			initZk();
		}
        try {
        	Stat stat = zk.setData(path, data.getBytes(), -1);
        	return stat.toString();
        } catch (KeeperException | InterruptedException e) {
            e.printStackTrace();
        }
        return "failure";
	}
	//delete znode
	@RequestMapping("/zk/delete")
	public String delete(String path) {
		if (zk == null) {
			initZk();
		}
		try {
            zk.delete(path, -1);
        } catch (InterruptedException | KeeperException e) {
            e.printStackTrace();
        }
        return "success";
	}

}
时间: 2024-10-28 11:32:46

java操作zookeeper的相关文章

用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

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