【clickhouse】ClickHouseException code: 225 ZooKeeper session has been expired

x33g5p2x  于2022-02-07 转载在 ClickHouse  
字(0.8k)|赞(0)|评价(0)|浏览(561)

1.概述

转载:Clickhouse写入问题汇总

com.dtstack.jlogstash.outputs.core.common.ClickhouseException: ru.yandex.clickhouse.except.ClickHouseException: ClickHouse exception, code: 225, host: 172.16.8.84, port: 8123; Code: 225, e.displayText() = DB::Exception: ZooKeeper session has been expired. (version 19.14.6.12)

zk会话超时, 一般都是由于zk单机/集群出问题(例如zk服务挂了, zk的压力太大)导致的.

2.解决方法

  • 参考上面zookeeper相关的优化.

  • zk client在与所有server断开连接后(有可能是各种原因), client 会收到 disconnted消息. 当zk server 恢复后, zk client会自动与server连接上, 但是此时会话已失效, client收到 session expired消息. 前一个会话的所有数据均丢失. 接下来你要怎么做, 得看你的程序用途:

  • 如果只是读写, 没有主备机切换情况(就是当一台主机一台备机, 当主机挂机时, zk通知备机成为主机), 那么, 重新new一个会话, 将原来session的树状结构重新建立起来就行了.

  • 如果是主备机切换情况, 那就不能简单的建立 树状结构, 因为这时我们是不知道到底主机是挂掉了, 还是session expired了. 就只能把它当作真的是主机挂机来处理.

  • ZK所有集群均不可用情况是比较少见的, 但是session expired需要引起重视起来.

  • 一般情况下, 集群中一两台机器的挂机和启动, 我们都不用关心, apache的zk client可以帮我们自动处理这些问题.

相关文章

最新文章

更多