zookeeper会话及普遍模型

1,使用zkEnv.sh配置classpath路径,建立MyEnv.sh文件

ZOOBINDIR=“<path_to_distro>/bin”

. "ZOOBINDIR"/zkEnv.sh

运行完之后source一下MyEnv.sh文件

2,创建Master.java文件,如下所示:

import org.apache.zookeeper.ZooKeeper;
import org.apache.zookeeper.Watcher;
import org.apache.zookeeper.WatchedEvent;
import java.io.*;
public class Master implements Watcher{
ZooKeeper zk;
String hostPort;


Master(String hostPort){
this.hostPort = hostPort;
}


void startZK() throws IOException{
zk = new ZooKeeper(hostPort,15000,this);
}


public void process(WatchedEvent e){
System.out.println(e);
}


public static void main(String args[])throws Exception{
Master m = new Master(args[0]);
m.startZK();
Thread.sleep(60000);
}
}

3,编译master.java:

javac -cp $CLASSPATH Master.java

4,启动zookeeper服务,运行master文件:

java -cp $CLASSPATH Master 127.0.0.1:2181

即完成自己设置zookeeper会话。

5,Zookeeper是一个主从模型的框架,其应用中的使用的通用代码模型为:

1)进行异步调用。

2)实现回调对象,并传入异步调用函数中。

3)如果操作需要设置监视点,实现一个watcher对象,并传入异步调用函数中。

以下为exists的异步调用示例代码:

zk.exists("/myZnode",

myWatcher,

existsCallback,

null);

Watcher myWatcher = new Watcher() {
public void process(WatchedEvent e){

}

}

StatCallback existsCallback = new StatCallback() {
public void processResult(int rc, String path, Object ctx, Stat stat){

}

};

摘自:《zookeeper分布式过程协同技术讲解》

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值