在Eclipse下对操作HBase的程序进行调试时发现日志中有这样一段信息“2014-11-24 10:55:10,575 INFO [org.apache.zookeeper.ClientCnxn] - Opening socket connection to server host191/172.16.18.191:2181. Will not attempt to authenticate using SASL (java.lang.SecurityException : 无法定位登录配置)”,观察程序运行结果貌似正常,由于不愿意看到自己的程序中有这样不完美的日志存在,于是在网上进行搜索,发现有人说zookeeper集群有节点服务不可用时会输出这样的日志,随即检查zookeeper测试集群,发现host191这台机器上的zookeeper服务果然挂了,赶紧启zookeeper服务,再次运行程序发现错误依然存在,说明我的应用不是因为zookeeper的节点故障问题输出这条日志,在网上继续搜索没有发现符合的我情况的内容。
重新回到eclipse分析日志,从ClientCnxn.java中找相应的日志信息,发现970行,代码片段如下(以下代码都是zookeeper 3.4.6中的代码,其他版本的可能有出入):