Manager日志出现大量报错scala.MatchError: null

  其他常见问题
内容纲要

概要描述

5.x 的环境上架 sophon 后,由于 metainfo 的 health check 的规则与 Manager 的不 Match ,可能会导致 Manager 的相关日志大量刷报错。本文介绍了一种该问题的解决方法。


详细描述

1、故障现象

Manager的相关日志 /var/log/transwarp-manager/master/transwarp-manager.log 以及 transwarp-manager-healthcheck.log 中频繁抛出如下报错:

ERROR OneForOneStrategy: (Slf4jLogger.scala:66) - null
scala.MatchError: null
at io.transwarp.manager.master.manager.service.health.HealthCheckScheduler$$anonfun$receive$1.applyOrElse(HealthCheckScheduler.scala:64)
at akka.actor.Actor$class.aroundReceive(Actor.scala:467)
at io.transwarp.manager.master.manager.service.health.HealthCheckScheduler.aroundReceive(HealthCheckScheduler.scala:31)
at akka.actor.ActorCell.receiveMessage(ActorCell.scala:516)
at akka.actor.ActorCell.invoke(ActorCell.scala:487)
at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:238)
at akka.dispatch.Mailbox.run(Mailbox.scala:220)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)

2、故障原因

出现该问题时的场景均是 TDH 5.x 上架了高版本的 sophon 之后。所以怀疑是 Manager 的健康检查配置和sophon 的版本不 Match,实际解决方案也验证了该猜想。

3、修复方法

  1. 确认sophon的版本号
docker images | grep sophon
  1. 修改 Sophon 对应版本的 metainfo.yaml
vim /var/lib/transwarp-manager/master/content/meta/services/SOPHON/<对应版本>/metainfo.yaml

查看healthChecks部分,为以下内容:

file

在 VITAL_SIGN_CHECK 下添加一行 method: !<K8sPod> {} ,修改后如下图所示:

file

  1. 重启 Manager,让修改后的健康检查逻辑生效
/etc/init.d/transwarp-manager restart

重启 Manager 后,再去检查 Manager 相关日志已经没有相关报错信息。

这篇文章对您有帮助吗?

平均评分 5 / 5. 次数: 1

尚无评价,您可以第一个评哦!

非常抱歉,这篇文章对您没有帮助.

烦请您告诉我们您的建议与意见,以便我们改进,谢谢您。