zoukankan      html  css  js  c++  java
  • Zookeeper:fsync超时导致实例异常

    一、问题描述

           2019-02-19 08:44左右,实时计算服务重启,报错显示找不到zk集群的leader节点,同时ZooKeeper集群有告警显示连接超时:

      指标[连接耗时(ms)=18221]符合告警规则[连接耗时(ms)>=3000]

    二、排查过程

    1. 查看当前集群状态,集群状态正常,查看报“连接超时”的zk节点日志,发现有shutdown情况,表明作为follower的zk server在一段时间内会停止工作;

              

         2. 继续查看zk运行日志,发现有大量的fsync的告警,说明ZooKeeper将数据存入磁盘慢,导致ZooKeeper节点间心跳超时,进而ZooKeeper实例异常;
           

        3.  查看磁盘划分情况和zk data路径,发现zk数据盘没有单独划分,而且机器是老机器,zk数据量增大,磁盘IO性能跟不上;

           

                   


    三、根因分析

    1. “FOLLOWER”在跟“LEADER”同步时,fsync操作时间过长,导致超时。

    四、解决方法

    1. 根本解决: 挂载新的磁盘到zk节点机器上,提高磁盘IO性能,根本上解决fsync超时问题;

             2. 临时规避: 增大zk中tickTime、syncLimit 配置参数,需要重启节点,可以一台一台操作。

  • 相关阅读:
    H5实现查看图片和删除图片的效果
    HTTP 状态码(HTTP Status Code)
    HashMap详解(基于JDK 1.8)
    FutureTask详解
    ForkJoin框架详解
    final详解
    磁盘管理之inode与block
    如何在CentOS上安装一个2048小游戏
    Linux帮助手册(man)
    Linux入门-基础命令
  • 原文地址:https://www.cnblogs.com/lwhctv/p/10408295.html
Copyright © 2011-2022 走看看