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

139 篇文章 637 订阅 ¥19.90 ¥99.00
本文介绍了在使用ClickHouse时遇到的ZooKeeper会话超时问题,通常由ZooKeeper服务故障或高负载引起。解决方法包括针对Zookeeper的优化,如遇到会话过期,如果是读写操作,只需重新建立会话;如果是主备机切换,需考虑主机可能挂机的情况。建议重视ZooKeeper session expired事件,因为集群中个别机器的挂机和启动通常不影响客户端的正常使用。
摘要由CSDN通过智能技术生成

在这里插入图片描述

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的压力太大)导致的.

ZK会话过期,频繁出现看看你的SQL DDL是不是太迅捷了。正常请况下是不会有的

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可以帮我们自动处理这些问题.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值