Spark 读取hdfs上的文件 错误:Caused by: java.io.IOException: Filesystem closed的处理

本文介绍了解决HDFS中文件读取异常的方法。包括修改源代码使用`newInstance`替代`get`方法,以及调整`hdfscore-site.xml`配置文件中的`fs.hdfs.impl.disable.cache`参数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

操作方式:使用HDFS的API 直接读取文件:



 

解决办法:

第一种方法:

源代码:FileSystem  fs = FileSystem.get(URI.create(hdfsFilePath), config);

改为: FileSystem  fs = FileSystem.newInstance(URI.create(hdfsFilePath), config);

第二种方法:

在hdfs core-site.xml里把fs.hdfs.impl.disable.cache设置为true
多个datanode在getFileSystem过程中,由于Configuration一样,会得到同一个FileSystem。如果有一个datanode在使用完关闭连接,其它的datanode在访问就会出现上述异常

 



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值