zookeeper事件监听机制

阅读更多

掌握zookeeper事件监听机制,非常重要,可以说是跨入了进阶的门槛,只有掌握了如何监听某个节点或路径,我们才能在节点变化后,做一些我们想做的事,包括:
1,配置文件同步
2,主从切换
3,分布式队列
4,分布式锁
5,其他

散仙,在以前的文章里面有写过使用zookeeper原生的api,监听zk节点变化,那么本篇我们就来看下,如何使用curator来完成监听,代码如下:

Java代码 复制代码  收藏代码
  1. package com.qin.curator.zk;  
  2.   
  3. import javax.sound.midi.Patch;  
  4.   
  5. import org.apache.curator.RetryPolicy;  
  6. import org.apache.curator.framework.CuratorFramework;  
  7. import org.apache.curator.framework.CuratorFrameworkFactory;  
  8. import org.apache.curator.framework.CuratorFrameworkFactory.Builder;  
  9. import org.apache.curator.framework.api.CuratorWatcher;  
  10. import org.apache.curator.framework.recipes.cache.NodeCache;  
  11. import org.apache.curator.framework.recipes.cache.NodeCacheListener;  
  12. import org.apache.curator.framework.recipes.cache.PathChildrenCache;  
  13. import org.apache.curator.framework.recipes.cache.PathChildrenCacheEvent;  
  14. import org.apache.curator.framework.recipes.cache.PathChildrenCacheListener;  
  15. import org.apache.curator.retry.ExponentialBackoffRetry;  
  16. import org.apache.curator.utils.ZKPaths;  
  17. import org.apache.zookeeper.WatchedEvent;  
  18. /** 
  19.  *  
  20.  * 使用curator监听zookeeper节点 
  21.  * @author qindongliang 
  22.  * **/  
  23. public class CuratorWatch {  
  24.       
  25.     static CuratorFramework zkclient=null;  
  26.     static String nameSpace="php";  
  27.     static {  
  28.           
  29.           String zkhost="192.168.46.22:2181";//zk的host  
  30.           RetryPolicy rp=new ExponentialBackoffRetry(10003);//重试机制  
  31.           Builder builder = CuratorFrameworkFactory.builder().connectString(zkhost)  
  32.                   .connectionTimeoutMs(5000)  
  33.                   .sessionTimeoutMs(5000)  
  34.                   .retryPolicy(rp);  
  35.           builder.namespace(nameSpace);  
  36.           CuratorFramework zclient = builder.build();  
  37.           zkclient=zclient;  
  38.           zkclient.start();// 放在这前面执行  
  39.           zkclient.newNamespaceAwareEnsurePath(nameSpace);  
  40.             
  41.     }  
  42.       
  43.       
  44.     public static void main(String[] args) throws Exception{  
  45.           
  46.           
  47.         watch();  
  48.         Thread.sleep(Long.MAX_VALUE);  
  49.           
  50.     }  
  51.       
  52.       
  53.     /** 
  54.      *  
  55.      * 监听节点变化 
  56.      *  
  57.      * */  
  58.     public static void watch()throws Exception{  
  59.         PathChildrenCache cache = new PathChildrenCache(zkclient, "/zk"false);  
  60.         cache.start();  
  61.           
  62.         System.out.println("监听开始/zk........");  
  63.         PathChildrenCacheListener plis=new PathChildrenCacheListener() {  
  64.               
  65.             @Override  
  66.             public void childEvent(CuratorFramework client, PathChildrenCacheEvent event)  
  67.                     throws Exception {  
  68.                   switch ( event.getType() )  
  69.                     {  
  70.                         case CHILD_ADDED:  
  71.                         {  
  72.                             System.out.println("Node added: " + ZKPaths.getNodeFromPath(event.getData().getPath()));  
  73.                             break;  
  74.                         }  
  75.                           
  76.                           
  77.                         case CHILD_UPDATED:  
  78.                         {  
  79.                             System.out.println("Node changed: " + ZKPaths.getNodeFromPath(event.getData().getPath()));  
  80.                             break;  
  81.                         }  
  82.   
  83.                         case CHILD_REMOVED:  
  84.                         {  
  85.                             System.out.println("Node removed: " + ZKPaths.getNodeFromPath(event.getData().getPath()));  
  86.                             break;  
  87.                         }  
  88.                     }  
  89.                   
  90.                   
  91.             }  
  92.         };  
  93.         //注册监听  
  94.         cache.getListenable().addListener(plis);  
  95.          
  96.     }  
  97.       
  98.       
  99.       
  100.   
  101. }  
package com.qin.curator.zk;

import javax.sound.midi.Patch;

import org.apache.curator.RetryPolicy;
import org.apache.curator.framework.CuratorFramework;
import org.apache.curator.framework.CuratorFrameworkFactory;
import org.apache.curator.framework.CuratorFrameworkFactory.Builder;
import org.apache.curator.framework.api.CuratorWatcher;
import org.apache.curator.framework.recipes.cache.NodeCache;
import org.apache.curator.framework.recipes.cache.NodeCacheListener;
import org.apache.curator.framework.recipes.cache.PathChildrenCache;
import org.apache.curator.framework.recipes.cache.PathChildrenCacheEvent;
import org.apache.curator.framework.recipes.cache.PathChildrenCacheListener;
import org.apache.curator.retry.ExponentialBackoffRetry;
import org.apache.curator.utils.ZKPaths;
import org.apache.zookeeper.WatchedEvent;
/**
 * 
 * 使用curator监听zookeeper节点
 * @author qindongliang
 * **/
public class CuratorWatch {
	
	static CuratorFramework zkclient=null;
	static String nameSpace="php";
	static {
		
		  String zkhost="192.168.46.22:2181";//zk的host
		  RetryPolicy rp=new ExponentialBackoffRetry(1000, 3);//重试机制
		  Builder builder = CuratorFrameworkFactory.builder().connectString(zkhost)
				  .connectionTimeoutMs(5000)
				  .sessionTimeoutMs(5000)
				  .retryPolicy(rp);
		  builder.namespace(nameSpace);
		  CuratorFramework zclient = builder.build();
		  zkclient=zclient;
		  zkclient.start();// 放在这前面执行
		  zkclient.newNamespaceAwareEnsurePath(nameSpace);
		  
	}
	
	
	public static void main(String[] args) throws Exception{
		
		
		watch();
		Thread.sleep(Long.MAX_VALUE);
		
	}
	
	
	/**
	 * 
	 * 监听节点变化
	 * 
	 * */
	public static void watch()throws Exception{
	    PathChildrenCache cache = new PathChildrenCache(zkclient, "/zk", false);
	    cache.start();
		
		System.out.println("监听开始/zk........");
		PathChildrenCacheListener plis=new PathChildrenCacheListener() {
			
			@Override
			public void childEvent(CuratorFramework client, PathChildrenCacheEvent event)
					throws Exception {
				  switch ( event.getType() )
	                {
	                    case CHILD_ADDED:
	                    {
	                        System.out.println("Node added: " + ZKPaths.getNodeFromPath(event.getData().getPath()));
	                        break;
	                    }
	                    
	                    
	                    case CHILD_UPDATED:
	                    {
	                        System.out.println("Node changed: " + ZKPaths.getNodeFromPath(event.getData().getPath()));
	                        break;
	                    }

	                    case CHILD_REMOVED:
	                    {
	                        System.out.println("Node removed: " + ZKPaths.getNodeFromPath(event.getData().getPath()));
	                        break;
	                    }
	                }
				
				
			}
		};
		//注册监听
		cache.getListenable().addListener(plis);
	   
	}
	
	
	

}



运行后的控制台打印:

Java代码 复制代码  收藏代码
  1. 18:33:07.722 [main] INFO  o.a.c.f.imps.CuratorFrameworkImpl - Starting  
  2. 18:33:07.727 [main] DEBUG o.a.curator.CuratorZookeeperClient - Starting  
  3. 18:33:07.727 [main] DEBUG org.apache.curator.ConnectionState - Starting  
  4. 18:33:07.727 [main] DEBUG org.apache.curator.ConnectionState - reset  
  5. 18:33:07.734 [main] INFO  org.apache.zookeeper.ZooKeeper - Client environment:zookeeper.version=3.4.6-1569965, built on 02/20/2014 09:09 GMT  
  6. 18:33:07.734 [main] INFO  org.apache.zookeeper.ZooKeeper - Client environment:host.name=QINDONGLIANG.dhgatecn.msf  
  7. 18:33:07.734 [main] INFO  org.apache.zookeeper.ZooKeeper - Client environment:java.version=1.7.0_04  
  8. 18:33:07.734 [main] INFO  org.apache.zookeeper.ZooKeeper - Client environment:java.vendor=Oracle Corporation  
  9. 18:33:07.734 [main] INFO  org.apache.zookeeper.ZooKeeper - Client environment:java.home=D:\Java\jdk1.7.0_04\jre  
  10. 18:33:07.734 [main] INFO  org.apache.zookeeper.ZooKeeper - Client environment:java.class.path=D:\eclipseworkspace2yw\opzk\bin;D:\eclipseworkspace2yw\opzk\lib\curator-client-2.6.0.jar;D:\eclipseworkspace2yw\opzk\lib\curator-examples-2.6.0.jar;D:\eclipseworkspace2yw\opzk\lib\curator-framework-2.6.0.jar;D:\eclipseworkspace2yw\opzk\lib\curator-recipes-2.6.0.jar;D:\eclipseworkspace2yw\opzk\lib\curator-test-2.6.0.jar;D:\eclipseworkspace2yw\opzk\lib\curator-x-discovery-2.6.0.jar;D:\eclipseworkspace2yw\opzk\lib\curator-x-discovery-server-2.6.0.jar;D:\eclipseworkspace2yw\opzk\lib\curator-x-rpc-2.6.0.jar;D:\eclipseworkspace2yw\opzk\lib\log4j-1.2.15.jar;D:\eclipseworkspace2yw\opzk\lib\zookeeper-3.4.5.jar;D:\eclipseworkspace2yw\opzk\lib\commons-io-2.1.jar  
  11. 18:33:07.734 [main] INFO  org.apache.zookeeper.ZooKeeper - Client environment:java.library.path=D:\Java\jdk1.7.0_04\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;D:/Java/jdk1.7.0_04/bin/../jre/bin/server;D:/Java/jdk1.7.0_04/bin/../jre/bin;D:/Java/jdk1.7.0_04/bin/../jre/lib/amd64;C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Program Files (x86)\Common Files\Microsoft Shared\Windows Live;D:\Java\jdk1.7.0_04\bin;D:\Java\jdk1.7.0_04\jre\bin;D:\apache-ant-1.9.3\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Lenovo\Lenovo Home\;C:\Program Files (x86)\Windows Live\Shared;C:\Program Files\TortoiseSVN\bin;D:\hadoop-2.2.0/bin;C:\MyProgramFiles\apache-maven-3.0.5\bin;D:\python;E:\eclipse;;.  
  12. 18:33:07.734 [main] INFO  org.apache.zookeeper.ZooKeeper - Client environment:java.io.tmpdir=C:\Users\QINDON~1\AppData\Local\Temp\  
  13. 18:33:07.734 [main] INFO  org.apache.zookeeper.ZooKeeper - Client environment:java.compiler=  
  14. 18:33:07.734 [main] INFO  org.apache.zookeeper.ZooKeeper - Client environment:os.name=Windows 7  
  15. 18:33:07.734 [main] INFO  org.apache.zookeeper.ZooKeeper - Client environment:os.arch=amd64  
  16. 18:33:07.735 [main] INFO  org.apache.zookeeper.ZooKeeper - Client environment:os.version=6.1  
  17. 18:33:07.735 [main] INFO  org.apache.zookeeper.ZooKeeper - Client environment:user.name=qindongliang  
  18. 18:33:07.735 [main] INFO  org.apache.zookeeper.ZooKeeper - Client environment:user.home=C:\Users\qindongliang  
  19. 18:33:07.735 [main] INFO  org.apache.zookeeper.ZooKeeper - Client environment:user.dir=D:\eclipseworkspace2yw\opzk  
  20. 18:33:07.735 [main] INFO  org.apache.zookeeper.ZooKeeper - Initiating client connection, connectString=192.168.46.22:2181 sessionTimeout=5000 watcher=org.apache.curator.ConnectionState@2c351b05  
  21. 18:33:07.738 [main] DEBUG org.apache.zookeeper.ClientCnxn - zookeeper.disableAutoWatchReset is false  
  22. 18:33:07.760 [main-SendThread(192.168.46.22:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 192.168.46.22/192.168.46.22:2181. Will not attempt to authenticate using SASL (unknown error)  
  23. 18:33:07.761 [main-SendThread(192.168.46.22:2181)] INFO  org.apache.zookeeper.ClientCnxn - Socket connection established to 192.168.46.22/192.168.46.22:2181, initiating session  
  24. 18:33:07.762 [main-SendThread(192.168.46.22:2181)] DEBUG org.apache.zookeeper.ClientCnxn - Session establishment request sent on 192.168.46.22/192.168.46.22:2181  
  25. 18:33:07.766 [main-SendThread(192.168.46.22:2181)] INFO  org.apache.zookeeper.ClientCnxn - Session establishment complete on server 192.168.46.22/192.168.46.22:2181, sessionid = 0x148ac15236f0046, negotiated timeout = 5000  
  26. 18:33:07.771 [main-EventThread] INFO  o.a.c.f.state.ConnectionStateManager - State change: CONNECTED  
  27. 18:33:08.784 [main-SendThread(192.168.46.22:2181)] DEBUG org.apache.zookeeper.ClientCnxn - Reading reply sessionid:0x148ac15236f0046, packet:: clientPath:null serverPath:null finished:false header:: 1,3  replyHeader:: 1,233,0  request:: '/php,F  response:: s{117,117,1411712541330,1411712541330,0,5,0,0,0,3,204}   
  28. 18:33:08.784 [main-SendThread(192.168.46.22:2181)] DEBUG org.apache.zookeeper.ClientCnxn - Got ping response for sessionid: 0x148ac15236f0046 after 4ms  
  29. 监听开始/zk........  
  30. 18:33:08.795 [main-SendThread(192.168.46.22:2181)] DEBUG org.apache.zookeeper.ClientCnxn - Reading reply sessionid:0x148ac15236f0046, packet:: clientPath:null serverPath:null finished:false header:: 2,3  replyHeader:: 2,233,0  request:: '/php,F  response:: s{117,117,1411712541330,1411712541330,0,5,0,0,0,3,204}   
  31. 18:33:08.797 [main-SendThread(192.168.46.22:2181)] DEBUG org.apache.zookeeper.ClientCnxn - Reading reply sessionid:0x148ac15236f0046, packet:: clientPath:null serverPath:null finished:false header:: 3,3  replyHeader:: 3,233,0  request:: '/php/zk,F  response:: s{151,182,1411714954448,1411716422668,2,5,0,0,9,3,228}   
  32. 18:33:08.804 [main-SendThread(192.168.46.22:2181)] DEBUG org.apache.zookeeper.ClientCnxn - Reading reply sessionid:0x148ac15236f0046, packet:: clientPath:/php/zk serverPath:/php/zk finished:false header:: 4,12  replyHeader:: 4,233,0  request:: '/php/zk,T  response:: v{'bb,'cc,'cc334},s{151,182,1411714954448,1411716422668,2,5,0,0,9,3,228}   
  33. 18:33:08.815 [main-SendThread(192.168.46.22:2181)] DEBUG org.apache.zookeeper.ClientCnxn - Reading reply sessionid:0x148ac15236f0046, packet:: clientPath:/php/zk/bb serverPath:/php/zk/bb finished:false header:: 5,4  replyHeader:: 5,233,0  request:: '/php/zk/bb,T  response:: #6920616d2061207a6b20636f6e74656e742031,s{152,156,1411714954452,1411714982893,2,0,0,0,19,0,152}   
  34. 18:33:08.816 [main-SendThread(192.168.46.22:2181)] DEBUG org.apache.zookeeper.ClientCnxn - Reading reply sessionid:0x148ac15236f0046, packet:: clientPath:/php/zk/cc serverPath:/php/zk/cc finished:false header:: 6,4  replyHeader:: 6,233,0  request:: '/php/zk/cc,T  response:: #63313163,s{185,222,1411716737805,1411725726750,3,0,0,0,4,0,185}   
  35. 18:33:08.817 [main-SendThread(192.168.46.22:2181)] DEBUG org.apache.zookeeper.ClientCnxn - Reading reply sessionid:0x148ac15236f0046, packet:: clientPath:/php/zk/cc334 serverPath:/php/zk/cc334 finished:false header:: 7,4  replyHeader:: 7,233,0  request:: '/php/zk/cc334,T  response:: #636363,s{189,226,1411716744253,1411725775109,2,3,0,0,3,3,220}   
  36. Node added: bb  
  37. Node added: cc  
  38. Node added: cc334  
  39. 18:33:10.482 [main-SendThread(192.168.46.22:2181)] DEBUG org.apache.zookeeper.ClientCnxn - Got ping response for sessionid: 0x148ac15236f0046 after 1ms  
  40. 18:33:12.148 [main-SendThread(192.168.46.22:2181)] DEBUG org.apache.zookeeper.ClientCnxn - Got ping response for sessionid: 0x148ac15236f0046 after 1ms  
18:33:07.722 [main] INFO  o.a.c.f.imps.CuratorFrameworkImpl - Starting
18:33:07.727 [main] DEBUG o.a.curator.CuratorZookeeperClient - Starting
18:33:07.727 [main] DEBUG org.apache.curator.ConnectionState - Starting
18:33:07.727 [main] DEBUG org.apache.curator.ConnectionState - reset
18:33:07.734 [main] INFO  org.apache.zookeeper.ZooKeeper - Client environment:zookeeper.version=3.4.6-1569965, built on 02/20/2014 09:09 GMT
18:33:07.734 [main] INFO  org.apache.zookeeper.ZooKeeper - Client environment:host.name=QINDONGLIANG.dhgatecn.msf
18:33:07.734 [main] INFO  org.apache.zookeeper.ZooKeeper - Client environment:java.version=1.7.0_04
18:33:07.734 [main] INFO  org.apache.zookeeper.ZooKeeper - Client environment:java.vendor=Oracle Corporation
18:33:07.734 [main] INFO  org.apache.zookeeper.ZooKeeper - Client environment:java.home=D:\Java\jdk1.7.0_04\jre
18:33:07.734 [main] INFO  org.apache.zookeeper.ZooKeeper - Client environment:java.class.path=D:\eclipseworkspace2yw\opzk\bin;D:\eclipseworkspace2yw\opzk\lib\curator-client-2.6.0.jar;D:\eclipseworkspace2yw\opzk\lib\curator-examples-2.6.0.jar;D:\eclipseworkspace2yw\opzk\lib\curator-framework-2.6.0.jar;D:\eclipseworkspace2yw\opzk\lib\curator-recipes-2.6.0.jar;D:\eclipseworkspace2yw\opzk\lib\curator-test-2.6.0.jar;D:\eclipseworkspace2yw\opzk\lib\curator-x-discovery-2.6.0.jar;D:\eclipseworkspace2yw\opzk\lib\curator-x-discovery-server-2.6.0.jar;D:\eclipseworkspace2yw\opzk\lib\curator-x-rpc-2.6.0.jar;D:\eclipseworkspace2yw\opzk\lib\log4j-1.2.15.jar;D:\eclipseworkspace2yw\opzk\lib\zookeeper-3.4.5.jar;D:\eclipseworkspace2yw\opzk\lib\commons-io-2.1.jar
18:33:07.734 [main] INFO  org.apache.zookeeper.ZooKeeper - Client environment:java.library.path=D:\Java\jdk1.7.0_04\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;D:/Java/jdk1.7.0_04/bin/../jre/bin/server;D:/Java/jdk1.7.0_04/bin/../jre/bin;D:/Java/jdk1.7.0_04/bin/../jre/lib/amd64;C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Program Files (x86)\Common Files\Microsoft Shared\Windows Live;D:\Java\jdk1.7.0_04\bin;D:\Java\jdk1.7.0_04\jre\bin;D:\apache-ant-1.9.3\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Lenovo\Lenovo Home\;C:\Program Files (x86)\Windows Live\Shared;C:\Program Files\TortoiseSVN\bin;D:\hadoop-2.2.0/bin;C:\MyProgramFiles\apache-maven-3.0.5\bin;D:\python;E:\eclipse;;.
18:33:07.734 [main] INFO  org.apache.zookeeper.ZooKeeper - Client environment:java.io.tmpdir=C:\Users\QINDON~1\AppData\Local\Temp\
18:33:07.734 [main] INFO  org.apache.zookeeper.ZooKeeper - Client environment:java.compiler=
18:33:07.734 [main] INFO  org.apache.zookeeper.ZooKeeper - Client environment:os.name=Windows 7
18:33:07.734 [main] INFO  org.apache.zookeeper.ZooKeeper - Client environment:os.arch=amd64
18:33:07.735 [main] INFO  org.apache.zookeeper.ZooKeeper - Client environment:os.version=6.1
18:33:07.735 [main] INFO  org.apache.zookeeper.ZooKeeper - Client environment:user.name=qindongliang
18:33:07.735 [main] INFO  org.apache.zookeeper.ZooKeeper - Client environment:user.home=C:\Users\qindongliang
18:33:07.735 [main] INFO  org.apache.zookeeper.ZooKeeper - Client environment:user.dir=D:\eclipseworkspace2yw\opzk
18:33:07.735 [main] INFO  org.apache.zookeeper.ZooKeeper - Initiating client connection, connectString=192.168.46.22:2181 sessionTimeout=5000 watcher=org.apache.curator.ConnectionState@2c351b05
18:33:07.738 [main] DEBUG org.apache.zookeeper.ClientCnxn - zookeeper.disableAutoWatchReset is false
18:33:07.760 [main-SendThread(192.168.46.22:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 192.168.46.22/192.168.46.22:2181. Will not attempt to authenticate using SASL (unknown error)
18:33:07.761 [main-SendThread(192.168.46.22:2181)] INFO  org.apache.zookeeper.ClientCnxn - Socket connection established to 192.168.46.22/192.168.46.22:2181, initiating session
18:33:07.762 [main-SendThread(192.168.46.22:2181)] DEBUG org.apache.zookeeper.ClientCnxn - Session establishment request sent on 192.168.46.22/192.168.46.22:2181
18:33:07.766 [main-SendThread(192.168.46.22:2181)] INFO  org.apache.zookeeper.ClientCnxn - Session establishment complete on server 192.168.46.22/192.168.46.22:2181, sessionid = 0x148ac15236f0046, negotiated timeout = 5000
18:33:07.771 [main-EventThread] INFO  o.a.c.f.state.ConnectionStateManager - State change: CONNECTED
18:33:08.784 [main-SendThread(192.168.46.22:2181)] DEBUG org.apache.zookeeper.ClientCnxn - Reading reply sessionid:0x148ac15236f0046, packet:: clientPath:null serverPath:null finished:false header:: 1,3  replyHeader:: 1,233,0  request:: '/php,F  response:: s{117,117,1411712541330,1411712541330,0,5,0,0,0,3,204} 
18:33:08.784 [main-SendThread(192.168.46.22:2181)] DEBUG org.apache.zookeeper.ClientCnxn - Got ping response for sessionid: 0x148ac15236f0046 after 4ms
监听开始/zk........
18:33:08.795 [main-SendThread(192.168.46.22:2181)] DEBUG org.apache.zookeeper.ClientCnxn - Reading reply sessionid:0x148ac15236f0046, packet:: clientPath:null serverPath:null finished:false header:: 2,3  replyHeader:: 2,233,0  request:: '/php,F  response:: s{117,117,1411712541330,1411712541330,0,5,0,0,0,3,204} 
18:33:08.797 [main-SendThread(192.168.46.22:2181)] DEBUG org.apache.zookeeper.ClientCnxn - Reading reply sessionid:0x148ac15236f0046, packet:: clientPath:null serverPath:null finished:false header:: 3,3  replyHeader:: 3,233,0  request:: '/php/zk,F  response:: s{151,182,1411714954448,1411716422668,2,5,0,0,9,3,228} 
18:33:08.804 [main-SendThread(192.168.46.22:2181)] DEBUG org.apache.zookeeper.ClientCnxn - Reading reply sessionid:0x148ac15236f0046, packet:: clientPath:/php/zk serverPath:/php/zk finished:false header:: 4,12  replyHeader:: 4,233,0  request:: '/php/zk,T  response:: v{'bb,'cc,'cc334},s{151,182,1411714954448,1411716422668,2,5,0,0,9,3,228} 
18:33:08.815 [main-SendThread(192.168.46.22:2181)] DEBUG org.apache.zookeeper.ClientCnxn - Reading reply sessionid:0x148ac15236f0046, packet:: clientPath:/php/zk/bb serverPath:/php/zk/bb finished:false header:: 5,4  replyHeader:: 5,233,0  request:: '/php/zk/bb,T  response:: #6920616d2061207a6b20636f6e74656e742031,s{152,156,1411714954452,1411714982893,2,0,0,0,19,0,152} 
18:33:08.816 [main-SendThread(192.168.46.22:2181)] DEBUG org.apache.zookeeper.ClientCnxn - Reading reply sessionid:0x148ac15236f0046, packet:: clientPath:/php/zk/cc serverPath:/php/zk/cc finished:false header:: 6,4  replyHeader:: 6,233,0  request:: '/php/zk/cc,T  response:: #63313163,s{185,222,1411716737805,1411725726750,3,0,0,0,4,0,185} 
18:33:08.817 [main-SendThread(192.168.46.22:2181)] DEBUG org.apache.zookeeper.ClientCnxn - Reading reply sessionid:0x148ac15236f0046, packet:: clientPath:/php/zk/cc334 serverPath:/php/zk/cc334 finished:false header:: 7,4  replyHeader:: 7,233,0  request:: '/php/zk/cc334,T  response:: #636363,s{189,226,1411716744253,1411725775109,2,3,0,0,3,3,220} 
Node added: bb
Node added: cc
Node added: cc334
18:33:10.482 [main-SendThread(192.168.46.22:2181)] DEBUG org.apache.zookeeper.ClientCnxn - Got ping response for sessionid: 0x148ac15236f0046 after 1ms
18:33:12.148 [main-SendThread(192.168.46.22:2181)] DEBUG org.apache.zookeeper.ClientCnxn - Got ping response for sessionid: 0x148ac15236f0046 after 1ms



用到的jar包如下所示:

zookeeper事件监听机制_第1张图片 

你可能感兴趣的:(zookeeper)