solr - org.apache.curator.ConnectionState 连接字符串超时
问题描述
对于由 Zookeeper 管理的 Solr 实例,我一直面临这个问题。
Zookeeper 似乎能够向 Zookeeper 发送请求,Zookeeper 暂时接受请求然后拒绝它。
在 Zookeeper 日志中,我一直看到此错误:
INFO org.apache.zookeeper.ZooKeeper.Client.environment:user.dir=/ [1635628661@qtp-2049348234-50]
INFO org.apache.zookeeper.ZooKeeper Initiating client connection, connectString=localhost:2181 sessionTimeout=150000 watcher=org.apache.curator.ConnectionState@c4f2fbd [1635628661@qtp-2049348234-50]
INFO org.apache.zookeeper.ClientCnxn Opening socket connection to server localhost/127.0.0.1:2181. Will not attempt to authenticate using SASL (unknown error) [1635628661@qtp-2049348234-50-SendThread(localhost:2181)]
INFO org.apache.zookeeper.ClientCnxn Socket connection established to localhost/127.0.0.1:2181, initiating session [1635628661@qtp-2049348234-50 SendThread(localhost:2181)]
ERROR org.apache.curator.ConnectionState Connection timed out for connection string (localhost:2181) and timeout (15000) / elapsed (15290) [1635628661@qtp-204934823450]
org.apache.curator.CuratorConnectionLossException: KeeperErrorCode = ConnectionLoss
at org.apache.curator.ConnectionState.checkTimeouts(ConnectionState.java:191)
at org.apache.curator.ConnectionState.getZooKeeper(ConnectionState.java:86)
at org.apache.curator.CuratorZookeeperClient.getZooKeeper(CuratorZookeeperClient.java:113)
at org.apache.curator.framework.imps.CuratorFrameworkImpl getZooKeeper(CuratorF
任何帮助在这里表示赞赏。
解决方案
根据日志,您在 localhost:2181 上打开了套接字,因此行:
INFO org.apache.zookeeper.ClientCnxn Socket connection established to localhost/127.0.0.1:2181, initiating session [1635628661@qtp-2049348234-50 SendThread(localhost:2181)]
像这样的状态,好的,我们找到了一个打开的套接字,现在我们尝试写入一些数据。它发送连接请求,发送 sessionId 和密码。如果会话尚未建立 - 它发送 0 作为会话 ID,但发送密码。
如果您将启用调试输出,您将在日志中看到类似
Session establishment request sent on <remote address>
您询问的日志记录 -
ERROR org.apache.curator.ConnectionState Connection timed out for connection string (localhost:2181) and timeout (15000) / elapsed (15290) [1635628661@qtp-204934823450]
与策展人本身有关。如果客户端未连接 - 它调用 checkTimeout() 并且如果检查超时结果为“CONNECTION_TIMEOUT”,则生成如上所述的记录。
信息不多,但我猜测您的本地主机上有 zookeper,但连接被拒绝,可能需要密码或其他原因。
希望它会有所帮助。
(我的回答是基于这里主人的策展人代码-> https://github.com/apache/curator)
推荐阅读
- exception - 参数类型错误时如何处理 Web Api 2 异常
- python - Python Replit 错误:AttributeError:'function' 对象没有属性'update' -Answered-
- azure-active-directory - Azure AD 与 sonarqube 的集成
- javascript - 如何获取更多信息/解决“对象作为 React 子项无效(找到:[object Promise])”?
- python-3.x - 将 csv 读入 pandas 数据帧但避免 NaN 行
- tensorflow - TensorFlow Object Detection API 导出模型不一致
- visual-studio - 对 SSPI 的调用失败,请参阅内部异常。不支持请求的功能。对于 VSTTAgent
- c# - 如何从 NuGet 包及其依赖项安装 PowerShell 二进制 cmdlet (C#)
- javascript - 投票按钮无法禁用
- r - 汇总表中的内联图