Print

关于iMC_EIA_V9 由于Kafka通信异常导致mac-portal认证失败提示无法连接radius服务器问题的技术公告

2021-11-18 发表

问题描述

【产品型号】

H3C_iMC_EIA V9

【涉及版本】

iMC_EIA_V9 E0215H04(不含)之前的版本

【问题描述】

EIA_V9产品进行mac-portal认证时,在EIApod状态正常时,概率性发生终端页面报错提示无法链接到RADIUS服务器,请联系管理员,具体报错如下:


原因分析

遇到上述问题现象,若通过任意节点的后台收集kafka.log, 收集方法如下:


日志内容如有类似报错提示:

[2021-11-08 20:56:48,249] WARN [SocketServer brokerId=0] Unexpected error from /177.177.50.33; closing connection (org.apache.kafka.common.network.Selector)

org.apache.kafka.common.network.InvalidReceiveException: Invalid receive (size = xxxxxxxx  larger than 104857600)

         at org.apache.kafka.common.network.NetworkReceive.readFrom(NetworkReceive.java:104)

         at org.apache.kafka.common.network.KafkaChannel.receive(KafkaChannel.java:424)

         at org.apache.kafka.common.network.KafkaChannel.read(KafkaChannel.java:385)

         at org.apache.kafka.common.network.Selector.attemptRead(Selector.java:651)

         at org.apache.kafka.common.network.Selector.pollSelectionKeys(Selector.java:572)

         at org.apache.kafka.common.network.Selector.poll(Selector.java:483)

         at kafka.network.Processor.poll(SocketServer.scala:890)

         at kafka.network.Processor.run(SocketServer.scala:789)

         at java.lang.Thread.run(Thread.java:748)

可说明是由于Kafka通信异常导致mac-portal认证失败。该问题原因为当Kafka收到来自源地址为eia-uam-dm,报文大小超过Kafka处理上限(104857600字节)的异常报文时,触发Kafka自身保护机制,导致kafkaEIA主动断开连接造成认证失败。

规避措施/解决方案

规避措施:

当问题发生后,根据以上分析确认为Kafka通信异常引发的认证失败时,可以通过以下操作进行规避:

登录任意节点,查询所有eia-uam-dmpod名称,重新启动全部eia-uam-dm命名的pod,再次建立kafkaeia-uam-dm之间的连通。方法如下:

1、登录服务器任意节点,通过kubectl get pod –A| grep eia-uam-dm查询eia全部pod名称

2、通过kubectl delete pod [pod名称] –n service-software重启所有eia-uam-dm命名开头的pod,多个pod用空格分开


解决方案:

升级至EIA_V9 E0215H04版本解决。