暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

GBase 8a MPP故障排查:加载时报错(425 Failed to establish connection)

原创 Kyle 2021-03-25
3434

本文介绍GBase 8a MPP数据库在加载ftp数据源时,出现425 Failed to establish connection报错的问题分析。

问题描述

在某应用场景中,每天凌晨开始使用ftp加载大约300张表。但是,使用过程中发现每天约20张表加载报错,报错信息由于FTP的425 Failed to establish connection,重试加载可以成功。现场网络拓扑中,集群与FTP源跨交换机,并且有硬件防火墙。
执行SQL:
load data infile ftp://gbase:gbase@192.168.8.127/opt/data/A0000001.AVL failed with error
报错信息:
GBase internal error: I/O operation on ftp://gbase:gbase@192.168.8.127/opt/data/A0000001.AVL failed with error - FTP: couldn’t retrieve (RETR failed), 425 Failed to establish connection.

排查

  1. 打开集群trace日志,提高trace日志等级
    根据gnode安装目录下的log/express.log日志中,ftp详细的连接过程信息发现,登录FTP数据服务器是正常的,只有在读取数据的时候才会出错,怀疑vsftpd服务有问题。
  2. 监控vsftpd进程情况,监控系统打开文件数
    根据监控信息,发现出问题时vsftpd进程数不多,系统打开文件数也没有达到系统上限,排除资源瓶颈的问题。
  3. 现场替换带debug信息的vsftpd程序
    通过分析vsftpd中的debug信息发现,ftp建立数据读取连接,accept()返回-1,errno错误码为4(Interruptd System Call)。根据该信息,并结合网上查询到的信息,怀疑与网络质量有关

验证

  1. 找一台与问题FTP在同一网段的机器做FTP数据服务器进行测试
    加载同样报错。排除网络硬件问题,因为两台FTP服务器的网络硬件同时坏的概率很低
  2. 在集群内找一个节点做FTP数据服务器进行测试
    加载没有报错。说明报错问题不在于集群,而在FTP端,同时说明FTP报错与网络有关
  3. 使用tcpdump抓取FTP服务器节点的网络数据包
    通过统计分析FTP所在节点的网络抓包数据,显示出FTP服务器的网络质量比较差。有大量的Retransmission(重传),out-of-order(乱序),previous segment not captured(丢包),出错包占总包数的比例高达66%。
    3.jpg

解决方案

通过检查网络部署和配置,确认是防火墙硬件的问题。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论