首先需要启动zookeeper
API使用方法:
package zookeeperutil;
import org.apache.zookeeper.CreateMode;
import org.apache.zookeeper.WatchedEvent;
import org.apache.zookeeper.Watcher;
import org.apache.zookeeper.ZooDefs.Ids;
import org.apache.zookeeper.ZooKeeper;
public class ConnectionZk {
private static final String connectString="192.168.65.132:2181";
private static final int sessionTimeout=2000;
private static final String parentNode="/servers";
ZooKeeper zkClient=null;
public void connection() throws Exception{
zkClient=new ZooKeeper(connectString, sessionTimeout, new Watcher() {
public void process(WatchedEvent event) {
System.out.println(event.getType()+","+event.getPath());
try {
zkClient.getChildren("/", true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
public void registerServer(String hostname) throws Exception{
zkClient.create(parentNode+"/server", hostname.getBytes(), Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
System.out.println(parentNode+" is created");
}
public void handleBussiness(String hostname) throws Exception{
System.out.println(hostname+" is working");
Thread.sleep(Long.MAX_VALUE);
}
public static void main(String[] args) {
try {
ConnectionZk zk=new ConnectionZk();
zk.connection();
zk.registerServer(args[0]);
zk.handleBussiness(args[0]);
} catch (Exception e) {
e.printStackTrace();
}
}
}