反馈已提交

网络繁忙

集群常见报错及解决方案

  • 文档创建者:Roxy
  • 编辑次数:17次
  • 最近更新:Wendy123456 于 2021-07-06
  • 1. 集群前端报错

    1.1 Redis 集群节点异常

    1.1.1 问题描述

    1573107910501965.png

    1.1.2 原因分析

    某个节点出现异常或已经宕掉,无法继续在 Redis 集群中提供服务。

    1.1.3 解决方案

    1)登录 Redis 集群,输入cluster nodes检查 Redis 集群状态。

    redis-cli -h ip -p 端口 -a 密码 # 客户端远程连接某个节点,输入对应的 ip、端口、密码。

    1573108051423684.png

    当我们检查到某个 Redis 节点是宕机(fail)状态,请及时检查该 Redis 节点进程,若进程还在,则kill掉进行重启,若进行不在,则直接启动该节点,启动后再次进行检查是否恢复。

    2)如果想进一步确认 Redis 集群的可用性,可以连接某个主节点(master)测试是否能够写入 key。

    正常情况:

    1573107999604414.png

    异常情况:

    1573108006707753.png

    当我们检测到 Redis 集群是无法写入(down)的状态时,此种异常较为罕见,建议重启整个 Redis 集群。

    1.2 节点间 JAR 包不一致报错

    1.2.1 问题描述

    1573107984398622.png

    1.2.2 报错原因

    节点启动过程会与第一个加入集群的节点对比 jar 包是否一致,若检测到不一致情况,则前端进行异常展示并给出详细的异常信息。

    1.2.3 解决方案

    参照异常提示, 检查各个节点下的 jar 包并进行调整,调整完毕后重启节点,再观察是否还有报错。

    1.3 同步失败报错

    1.3.1 问题描述

    同步失败报错,如下图所示:

    1573107972391888.png

    1.3.2 原因分析

    该节点与文件同步基准节点进行文件同步时,出现同步错误或者请求超时,重复尝试3次仍然无法成功,则前端进行异常展示。

    1.3.3 解决方案

    检查节点间通信、网络状态是否正常,若有异常则及时进行调整。

    2. 分布式集群报错

    2.1 Alluxio 无法正常启动

    2.1.1 问题描述

    Alluxio 一直启动不成功。

    2.1.2 原因分析

    Spider 组件内存配置不正确。

    2.1.3 解决方案

    如果自行调整过 Spider 组件的内存,需要重新修改下内存配置。

    2.2 Spider 集群主机心跳丢失

    2.2.1 问题描述

    集群中的主机出现100%的内存占用的情况,导致其他 master 无法连接这台主机,心跳丢失。

    2.2.2 原因分析

    内存配置过小。

    2.2.3 解决方案

    需要升级硬件配置,增大内存配置。

    2.3 Spider 集群基础上启动 Web 集群失败

    2.3.1 问题描述

    Web 集群双节点只能启动一个节点,另一个节点访问报错,如下图所示:

    45.png

    2.3.2 原因分析

    Tomcat 文件夹权限问题,非 root 用户启动。

    2.3.3 解决方案

    使用 root 用户启动集群。

    2.4 Spider Alluxio 主节点挂掉,BI 模板全部不能访问

    2.4.1 问题描述

    BI 查询报错,发现 Alluxio master 节点挂掉,Master 的日志中有对应的 oom 报错。如下图所示:

    41.png

    2.4.2 原因分析

    Alluxio master 执行 hdfs 命令,在高负载的情况下,内存不足。

    2.4.3 解决思路

    Alluxio Master 需要调大内存,找到ALLUXIO_MASTER_JAVA_OPTS,如果没有或者被注释,那么直接添加。如果有的话就添加相应的 XmsXmx 参数,最后点击Save 按钮保存配置。

    如下图所示:

    3.png

    2.5 Spider 集群下模板预览变慢

    2.5.1 问题描述

    做了 Spider 集群,每天有很多人在使用,使用的时候就会造成 spark 的任务阻塞,导致模板预览变慢。

    2.5.2 原因分析

    磁盘速度很慢导致分布式速度上不来。

    2.5.3 解决方案

    升级硬件配置。

    3. 平台异常通知

    集群为了便于大家及时发现并排查问题,针对异常情况也会进行异常通知,通知包括邮件通知、短信通知、消息通知,平台开通集群异常提醒即可收到。

    异常原因通知内容解决方案
    jar包不一致节点 #nodename# 与节点 #nodename# 的 jar 包不一致,将影响集群工程的稳定性,请前往集群节点管理页面查看详细异常信息,并及时处理。1.2中已给出
    节点脱离集群提醒节点 #nodename# 已脱离集群环境,可能原因为:节点 FullGC、节点宕机、节点间通信不畅、节点负载过高、其他异常。为避免影响用户使用,请及时检查该节点状态,若该节点长时间无法自行恢复,则建议重启该节点。

    前往集群节点管理界面,看看报脱离的节点是否还存在。

    a、如果节点已经消失,在服务器中查看应用进程,若进程还在,则 kill 掉再进行重启,若进程已经不在了,则直接重启该节点工程;

    b、如果节点还存在,则前往智能运维-内存管理或者直接进入服务器内查看节点的 内存/CPU 占用情况,看看是否有飙升现象,如果节点 内存/CPU 过高,则重启该节点;

    上面两种方法仅为临时解决方案,造成节点脱离的原因大致有三个:负载过高导致频繁 FullGC、线程阻塞导致 内存/CPU 飙升、节点宕机

    节点间时间不一致节点 #nodename# 与节点 #nodename# 系统时间相差超过 XX 秒,为避免影响用户使用,请及时调整使各节点时间保持一致。

    检查各个节点的时间是否一致,当节点间系统时间误差超过 30s 时会进行报错提醒,因为包括登录等基础功能的使用可能会受到时间不一致的影响。

    windows 系统可以手动将各个节点的系统时间调为一致,Linux 系统调整节点间时间可以参考文档:Linux 系统如何配置各个节点的时间一致性?

    Redis集群节点异常Redis 集群 #ip:port# 节点已无法正常使用,可能原因为:节点宕机、内存已满、其他异常。为避免影响用户使用,请前往状态服务器配置页面查看详情,并及时处理。1.1中已给出
    文件服务器宕机文件服务器出现无法正常读写的情况,可能原因为:文件服务器宕机、磁盘已满、其他异常。为避免影响用户使用,请及时检查文件服务器状态。

    若启动过程中连接不上文件服务器,可从文件服务器状态,防火墙是否开放端口等角度进行排查。

    若使用过程中出现了这个报错,则从三个方向进行排查:

    a、检查文件服务器的状态,看看是否是文件服务器宕机了;

    b、检查配置的 WEB-INF 目录是否还能正常读写;

    c、检查文件服务器的磁盘空间剩余情况,可能是磁盘满了导致无法读写,若磁盘满需要扩充磁盘空间。

    文件同步失败提醒集群节点 #nodename# 与基准节点存在不一致文件,且无法自动同步。请检测该节点状态本文 1.3 中已给出

    4. BI 数据更新问题

    4.1 更新卡住,重启后无法停止更新

    4.1.1 问题描述

    单表更新卡住,重启后更新进度页面显示仍在更新。

    4.1.2 原因分析

    集群若只有一个节点重启,不会清状态服务器 Redis 里的更新进度,需要重启整个集群,才会重置更新进度,如果只重启一个节点,之前在进行中的任务会强制失败,未开始的任务会继续更新。

    4.1.2 解决方案

    将所有的集群节点关闭之后全部重启。

    5. 11300016 服务器服务响应时间过长

    本文档的解决方案适用于 JAR 包为 2020-01-15 之前发布的版本,2020-01-15 及以后发布的版本可以直接在前端修改参数:集群参数配置

    为了解决一些集群环境单节点故障导致的问题,我们对「集群内部转发逻辑」进行了优化。对于节点之间的请求设置了超时时间,默认的读写超时时间是 18s ,对于部分用户来说,这个参数会影响模板的访问并会收到异常消息通知,如有此情况可根据本帮助文档自行调整。

    问题描述:

    1)报错页面:

    12.png

    2)异常通知:

    13.png

    解决方案:

    可以通过手动在配置数据库 fine_conf_entity 表中插入对应的字段和值来进行调整,如下表所示:

    字段自定义值(单位:ms)注释

    ClusterRedirect

    Config.socket

    Timeout

    90000

    含义:

    读写超时的时间,如果在超时时间内服务器未返回或收到任何数据,视为超时,超时 5 次会通知管理员检查节点状态。

    参数调整建议:

    如果没有大数据量计算或导出的模板,则建议配置不超过 90000(单位ms)。如果有大数据量计算或导出的模板,则根据最长耗时的模板时间进行配置。

    说明:

    这个参数与 nginx 中的参数为 proxy_read_timeout 和 proxy_send_timeout 对应,不能超过nginx 里的这两个参数的值。

    6. Web 集群部分节点卡死

    问题描述:

    集群某一节点卡死,后台打印的日志包含:BLOCKED(on object monitor),locked <0x0000000549f947f0>。如下图所示:

    222

    原因分析:

    这个问题是由于所有的线程都使用同一个 Category,写日志的线程太多时,就出现了部分线程 Block,但是上图的是获取了锁之后被 block 掉,导致死锁;

    解决方案:

                   目前由于需要兼容 jdk1.6,无法使用更高版本的 log4j,因此这个问题只能通过设置日志级别来解决。进入管理系统>智能运维>平台日志,将系统日志级别调整为 error,如下图:

                   222

                   调整完后重启卡主的节点即可;



    附件列表


    主题: 部署集成
    • 有帮助
    • 没帮助
    • 只是浏览

    售前咨询电话

    400-811-8890转1

    在线技术支持

    在线QQ:800049425

    热线电话:400-811-8890转2

    总裁办24H投诉

    热线电话:173-1278-1526

    文 档反 馈

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭