searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

zookeeper集群间通信延迟异常,导致TeleDB集群频繁切换分析

2023-06-09 07:33:17
278
0

一、故障现象

Teledb运维控制台观测到set频繁进行主从切换

二、故障关键信息

放到前面,用于下一次故障的快速确认

1、检查zookeeper集群各实例状态,频繁在follower 和 not running间切换

./zkServer.sh status

2、日志信息输出

less zookeeper.out | grep "fsync-ing the write ahead log in SyncThread"

三、故障分析

2.1 teledb agent日志表现

大量的连不上zk的信息,如下图

2.2 数据库实例上连接zk的表现

连得上,但是反复被中断,如下图

 

2.3 zk自身的日志表现

Follower节点如下错误。

fsync-ing the write ahead log in SyncThread:1 took 2243ms which will adversely effect operation latency

····

INFO [QuorumPeer[myid=1]/0:0:0:0:0:0:0:0:8035:Follower@145] - shutdown called
java.lang.Exception: shutdown Follower

···

四、故障原因

直接原因:Follower在跟Leader节点同步时,fsync操作时间过长,导致超时。

根本原因:磁盘性能等多方面因素

五、解决方案

临时解决方案:echo "forcesync=no" >> zoo.cfg   (具有一定隐患,需同步)

长期解决方案:

1、zkdata与zklog分开磁盘存储;或提升磁盘性能;

2、增加zk服务器之间的心跳超时时间,syncLimit 、tickTime

0条评论
0 / 1000
z****n
18文章数
1粉丝数
z****n
18 文章 | 1 粉丝
原创

zookeeper集群间通信延迟异常,导致TeleDB集群频繁切换分析

2023-06-09 07:33:17
278
0

一、故障现象

Teledb运维控制台观测到set频繁进行主从切换

二、故障关键信息

放到前面,用于下一次故障的快速确认

1、检查zookeeper集群各实例状态,频繁在follower 和 not running间切换

./zkServer.sh status

2、日志信息输出

less zookeeper.out | grep "fsync-ing the write ahead log in SyncThread"

三、故障分析

2.1 teledb agent日志表现

大量的连不上zk的信息,如下图

2.2 数据库实例上连接zk的表现

连得上,但是反复被中断,如下图

 

2.3 zk自身的日志表现

Follower节点如下错误。

fsync-ing the write ahead log in SyncThread:1 took 2243ms which will adversely effect operation latency

····

INFO [QuorumPeer[myid=1]/0:0:0:0:0:0:0:0:8035:Follower@145] - shutdown called
java.lang.Exception: shutdown Follower

···

四、故障原因

直接原因:Follower在跟Leader节点同步时,fsync操作时间过长,导致超时。

根本原因:磁盘性能等多方面因素

五、解决方案

临时解决方案:echo "forcesync=no" >> zoo.cfg   (具有一定隐患,需同步)

长期解决方案:

1、zkdata与zklog分开磁盘存储;或提升磁盘性能;

2、增加zk服务器之间的心跳超时时间,syncLimit 、tickTime

文章来自个人专栏
数据库运维专项
18 文章 | 1 订阅
0条评论
0 / 1000
请输入你的评论
0
0