已解决
zookeeper连接客户端操作数据时报错Socket is not connected
来自网友在路上 155855提问 提问时间:2023-10-19 16:39:20阅读次数: 55
最佳答案 问答题库558位专家为你答疑解惑
文章目录
- 一、报错信息
- 二、问题描述
- 三、原因分析:
- 四、解决方案:
一、报错信息
DEBUG org.apache.zookeeper.ClientCnxnSocketNIO - Ignoring exception during shutdown input
java.net.SocketException: Socket is not connectedat sun.nio.ch.Net.translateToSocketException(Net.java:123)at sun.nio.ch.Net.translateException(Net.java:157)at sun.nio.ch.Net.translateException(Net.java:163)at sun.nio.ch.SocketAdaptor.shutdownInput(SocketAdaptor.java:401)at org.apache.zookeeper.ClientCnxnSocketNIO.cleanup(ClientCnxnSocketNIO.java:200)
二、问题描述
在使用java连接zookeeper客户端时,发现连接是成功的,但是操作数据时报错
连接zookeeper客户端代码
public class Test {//此处是机器ip:端口号。多个ip用,隔开private static String connectString = "机器ip:2181";int sessionTimeout = 5000;@org.junit.Testpublic void test() throws IOException {ZooKeeper zooKeeper = new ZooKeeper(connectString, sessionTimeout, new Watcher() {/*** 监听事件* @param event*/@Overridepublic void process(WatchedEvent event) {System.out.println("监听事件"+event);}});System.out.println(zooKeeper);}
}
打印信息——连接成功
State:CONNECTING sessionid:0x0 local:null remoteserver:null lastZxid:0 xid:1 sent:0 recv:0 queuedpkts:0 pendingresp:0 queuedevents:0
操作zookeeper代码
public class Test1 {String connectString = "192.168.75.130:2181,192.168.75.131:2181,192.168.75.132:2181";int sessionTimeout = 5000;ZooKeeper zooKeeper = null;@Beforepublic void test() throws IOException {zooKeeper = new ZooKeeper(connectString, sessionTimeout, new Watcher() {/*** 监听事件* @param event*/@Overridepublic void process(WatchedEvent event) {System.out.println("监听事件" + event);}});
// System.out.println(zooKeeper);}/*** 创建节点*/@Testpublic void createNode() throws Exception {String path = zooKeeper.create("/apptest" // 节点路径, "HelloZookeeper".getBytes() // 节点的数据, ZooDefs.Ids.OPEN_ACL_UNSAFE // 权限, CreateMode.PERSISTENT // 节点类型);System.out.println(path);}
}
打印信息——报错
DEBUG org.apache.zookeeper.ClientCnxnSocketNIO - Ignoring exception during shutdown input
java.net.SocketException: Socket is not connectedat sun.nio.ch.Net.translateToSocketException(Net.java:123)at sun.nio.ch.Net.translateException(Net.java:157)at sun.nio.ch.Net.translateException(Net.java:163)at sun.nio.ch.SocketAdaptor.shutdownInput(SocketAdaptor.java:401)at org.apache.zookeeper.ClientCnxnSocketNIO.cleanup(ClientCnxnSocketNIO.java:200)
三、原因分析:
服务器zookeeper版本和pom依赖版本不一致导致的
四、解决方案:
将pom依赖版本服务器zookeeper版本
服务器版本查看3.8.2版本:
[root@zookeeper01 lib]# pwd
/opt/zookeeper/lib
[root@zookeeper01 lib]#
[root@zookeeper01 lib]# ll -r
总用量 12192
-rw-r--r--. 1 root root 23744 8月 31 00:20 zookeeper-prometheus-metrics-3.8.2.jar
-rw-r--r--. 1 root root 256137 8月 31 00:20 zookeeper-jute-3.8.2.jar
-rw-r--r--. 1 root root 1328066 8月 31 00:20 zookeeper-3.8.2.jar
-rw-r--r--. 1 root root 11358 8月 31 00:20 snappy-java-1.1.10.1.jar_LICENSE.txt
更改pom依赖版本为3.8.2
<!--zookeeper依赖--><dependency><groupId>org.apache.zookeeper</groupId><artifactId>zookeeper</artifactId><version>3.8.2</version></dependency><dependency><groupId>com.github.sgroschupf</groupId><artifactId>zkclient</artifactId><version>0.1</version></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version></dependency></dependencies>
查看全文
99%的人还看了
相似问题
- flink1.13.6版本的应用程序(maven版)
- 技术分享| gcc版本升级到5.2
- 基于 Glibc 版本升级的 DolphinDB 数据查询性能优化实践
- 解决requests 2.28.x版本SSL错误:证书验证失败
- UE5和UE4版本更新重大改变汇总。
- Docker build报错总结,版本过新大避雷!
- K8S1.23.5部署(此前1.17版本步骤囊括)及问题记录
- Mongodb3.4升级高版本mongoTemplate.executeCommand报错The cursor option is required
- onnx模型转换opset版本和固定动态输入尺寸
- centos安装指定版本docker
猜你感兴趣
版权申明
本文"zookeeper连接客户端操作数据时报错Socket is not connected":http://eshow365.cn/6-19747-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!
- 上一篇: 【黑马程序员】MySQL学习记录二(SQL)案例
- 下一篇: C#WPF简单双精度动画应用实例