ParquetFileReader导致处于CLOSE_WAIT状态的TCP连接过多

问题描述

我正在尝试从实木复合地板文件中读取元数据信息:

MetaData=ParquetFileReader.readFooter(fs.getConf(),file) ;

此行以CLOSE_WAIT状态打开连接(使用lsof -p pid命令检查)。

TCP rack162-hdp26-dev:36608->rack162-hdp26-dev:1019 (CLOSE_WAIT)

在超过65,536个文件上,它返回“打开的文件太多”的错误(因此需要重新启动我的应用程序)。我尝试用替换:

try (ParquetFileReader r = ParquetFileReader.open(fs.getConf(),file)) {

     logger.info("Getting Metadata for:" + file.toString());
     MetaData = r.getFooter()

     //other code//
}

,但仍然面临问题。我已经尝试过版本1.8.1、1.10.1、1.11.1的镶木地板-jar罐,但是每个罐都存在问题。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)