Zookeeper异常org.apache.zookeeper.KeeperException$ConnectionLossException
·
环境:
VMware + CentOS 7
Zookeeper3.5.5
本地IDEA代码:
package com.veeja;
import org.apache.zookeeper.*;
import java.io.IOException;
/**
* @Author veeja
* 2021/2/4 9:49
*/
public class SendContent {
public static void main(String[] args) {
try {
/*
* 创建Zookeeper对象:
* 参数1 :Zookeeper ip+端口号
* 参数2 :访问超时设置
* 参数3 :通过观察者模式发出访问回复:当连接成功后,编写成功信息
*/
ZooKeeper zookeeper = new ZooKeeper("192.168.152.128:2181", 100 * 1000, new Watcher() {
@Override
public void process(WatchedEvent watchedEvent) {
System.out.println("获取连接");
}
});
/**
* 发送内容 向Zookeeper服务器中
* 参数1:发送的文件
* 参数2:发送的内容
* 参数3:权限
* 参数4:内容的模式
*/
String content = zookeeper.create(
"/demo/rmi-address",
"rmi:localhost:8080/demoService".getBytes(),
ZooDefs.Ids.OPEN_ACL_UNSAFE,
CreateMode.PERSISTENT_SEQUENTIAL);
System.out.println("content = " + content);
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
} catch (KeeperException e) {
e.printStackTrace();
}
}
}
报错信息:
org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /demo/rmi-address
at org.apache.zookeeper.KeeperException.create(KeeperException.java:102)
at org.apache.zookeeper.KeeperException.create(KeeperException.java:54)
at org.apache.zookeeper.ZooKeeper.create(ZooKeeper.java:1538)
at com.veeja.SendContent.main(SendContent.java:35)
解决方案:
关闭防火墙。
# 查看防火墙的状态:
baisystemctl status firewalld.service
# 关闭防火墙
systemctl stop firewalld.service
# 永久关闭防火墙
systemctl disable firewalld.service
更多推荐
所有评论(0)