irpas技术客

解决:IDEA连接zookeeper客户端,出现 KeeperException$ConnectionLossException 异常_小犹太?_keepere

未知 4527

解决:IDEA连接zookeeper客户端,出现异常:org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /XXX 一.问题描述:(1)代码如图所示:(2)使用IDEA连接zookeeper客户端,报KeeperException$ConnectionLossException异常 二·报错原因:(1)创建zookeeper对象时,设置的连接会话超时太短(2)zookeeper里面已经存在你将要创建的节点名称 三·解决办法:(1)对创建zookeeper对象时,设置的“sessionTimeOut=2000”进行延长,本人要“sessionTimeOut=200000”,才能执行成功,读者可以根据自己实际情况而定。(2)将zookeeper中那个同名节点删除掉,再去执行连接zookeeper的方法(3)若不想删除同名节点,则需要在create方法参数中,使用节点类型为“顺序节点”类型 四·测试结果:成功

一.问题描述: (1)代码如图所示: public class zkClient { //注意:逗号前后不能有空格 //连接的 “主机IP+端口号”,多台服务器之间使用逗号隔开 private String connectString = "192.168.120.128:2181,192.168.120.130:2181,192.168.120.131:2181"; //设置超时时长 private int sessionTimeout = 2000; private ZooKeeper zooKeeper; @Before // @Test public void init() throws IOException { zooKeeper = new ZooKeeper(connectString, sessionTimeout, new Watcher() { @Override public void process(WatchedEvent watchedEvent) { } }); } @Test public void create() throws InterruptedException, KeeperException, IOException { // this.init(); String node = zooKeeper.create("/lmf", "张三".getBytes(), ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT); } } (2)使用IDEA连接zookeeper客户端,报KeeperException$ConnectionLossException异常

二·报错原因:

注意:以下原因只是本人出现的问题,也许还有其他情况!

(1)创建zookeeper对象时,设置的连接会话超时太短 (2)zookeeper里面已经存在你将要创建的节点名称 三·解决办法: (1)对创建zookeeper对象时,设置的“sessionTimeOut=2000”进行延长,本人要“sessionTimeOut=200000”,才能执行成功,读者可以根据自己实际情况而定。 //设置超时时长 private int sessionTimeout = 200000; (2)将zookeeper中那个同名节点删除掉,再去执行连接zookeeper的方法 (3)若不想删除同名节点,则需要在create方法参数中,使用节点类型为“顺序节点”类型 String node = zooKeeper.create("/lmf", "张三".getBytes(), ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT_SEQUENTIAL); 四·测试结果:成功


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。

标签: #keeperexception #KeeperErrorCode #connectionloss #for