You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用zkcopy从Zookeeper复制数据时出现ConnectionLoss连接丢失错误问询

错误根因排查
  • 单事务大小超过Zookeeper限制:从日志可看到本次需要复制的节点总量为12497个,zkcopy默认会将全量节点写入操作合并为单个大事务提交。Zookeeper服务端默认jute.maxbuffer参数限制单请求大小为1MB,大事务包超过阈值后,目标端Zookeeper会主动断开客户端连接。而读取阶段仅逐批拉取源端节点数据,无大事务操作,因此运行正常。
  • 会话超时:大事务提交耗时超过zkcopy默认的Zookeeper客户端会话超时时间,会话被目标端回收触发断连。
  • 小概率为目标端Zookeeper服务负载过高、网络瞬时波动导致的连接中断,若仅单次报错可重试后再排查。
对应解决方案
  • 拆分提交事务:执行zkcopy时添加--transaction-size参数调小单次事务提交的节点数,将大事务拆分为多个小事务提交,参考命令:
java -jar target/zkcopy.jar --source xxxx:2181/clickhouse --target xxxx:2181/clickhouse --transaction-size 100
  • 调大单请求大小限制:若确实需要提交大事务,可修改目标端Zookeeper启动参数,添加-Djute.maxbuffer=4194304(将单请求上限调整为4MB,可根据实际节点总量调整),重启目标端Zookeeper服务后再执行复制操作。
  • 延长会话超时时间:执行复制命令时添加--timeout参数调长客户端会话超时时间,避免提交耗时过长导致会话过期,示例:
java -jar target/zkcopy.jar --source xxxx:2181/clickhouse --target xxxx:2181/clickhouse --timeout 30000
  • 减少写入节点总量:你的操作开启了目标端旧节点删除配置,可先手动清理目标端/clickhouse路径下的无效节点,降低需要写入的节点总量,进一步降低事务大小。

内容的提问来源于stack exchange,提问作者Yanpeng

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 20:30:01