gpt4 book ai didi

apache-zookeeper - Zookeeper 连接超时问题

转载 作者:行者123 更新时间:2023-12-03 21:36:32 26 4
gpt4 key购买 nike

我们使用的是2.3.0版本的curator-framework连接pom文件中的zookeeper。

 <dependency>
<groupId>org.apache.curator</groupId>
<artifactId>curator-framework</artifactId>
<version>2.3.0</version>
</dependency>
<dependency>
<groupId>org.apache.curator</groupId>
<artifactId>curator-recipes</artifactId>
<version>2.3.0</version>
</dependency>

这用于高负载服务器,该服务器多次将数据泵入 kafka,我们不时收到以下错误。
我尝试使用谷歌搜索,但找不到问题的确切原因和解决方案。寻找有关如何解决此问题的想法。
ERROR org.apache.curator.ConnectionState: Connection timed out for connection string (xxx.xx.xx.xx:2181, yy.yy.y.y:2181) and timeout (15000) / elapsed (37893)
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(CuratorFrameworkImpl.java:456)
at org.apache.curator.framework.imps.BackgroundSyncImpl.performBackgroundOperation(BackgroundSyncImpl.java:40)
at org.apache.curator.framework.imps.OperationAndData.callPerformBackgroundOperation(OperationAndData.java:65)
at org.apache.curator.framework.imps.CuratorFrameworkImpl.performBackgroundOperation(CuratorFrameworkImpl.java:672)
at org.apache.curator.framework.imps.CuratorFrameworkImpl.backgroundOperationsLoop(CuratorFrameworkImpl.java:664)
at org.apache.curator.framework.imps.CuratorFrameworkImpl.access$300(CuratorFrameworkImpl.java:55)
at org.apache.curator.framework.imps.CuratorFrameworkImpl$3.call(CuratorFrameworkImpl.java:243)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)

最佳答案

您可能需要为策展人客户端调整 session 和连接超时。查询 connectionTimeoutMsSessionTimeoutMs您的 CuratorFramework 的设置.

根据经验,您的 connectionTimeoutMs应该是 SessionTimeoutMs按集群中的 Zookeeper 节点数划分。如果客户端无法通过 connectionTimeoutMs 连接到节点之一,它将尝试连接到另一个节点,直到 session 超时。

其他需要注意的设置是重试策略和重试间隔(如果您使用 RetryNTimes 策略,则值得检查您的 sleepBetweenRetries 是否太大,并且您在 connectionTimeoutMs 间隔内获得多次重试)。

关于apache-zookeeper - Zookeeper 连接超时问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35201293/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com