如何解决Hadoop文件系统多次关闭的问题
发表于:2024-11-24 作者:千家信息网编辑
千家信息网最后更新 2024年11月24日,小编给大家分享一下如何解决Hadoop文件系统多次关闭的问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!今天我犯了一个B
千家信息网最后更新 2024年11月24日如何解决Hadoop文件系统多次关闭的问题
小编给大家分享一下如何解决Hadoop文件系统多次关闭的问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
今天我犯了一个BUG。在我读写文件的时候,Hadoop抛异常说文件系统已经关闭。
2013-05-20 17:39:00,153 ERROR com.sunchangming.searchlog.CopyAppLogs: err on 2013051918_api_access_65.gz java.io.IOException: Filesystem closed at org.apache.hadoop.hdfs.DFSClient.checkOpen(DFSClient.java:319) at org.apache.hadoop.hdfs.DFSClient.getFileInfo(DFSClient.java:1026) at org.apache.hadoop.hdfs.DistributedFileSystem.getFileStatus(DistributedFileSystem.java:524) at org.apache.hadoop.fs.FileSystem.exists(FileSystem.java:768) at com.sunchangming.searchlog.CopyAppLogs.copyFile(CopyAppLogs.java:51) at com.sunchangming.searchlog.CopyAppLogs.access$000(CopyAppLogs.java:18) at com.sunchangming.searchlog.CopyAppLogs$1.run(CopyAppLogs.java:194) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) at java.util.concurrent.FutureTask.run(FutureTask.java:166) 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:722)
然后我就查,为什么呢。我刚刚用final FileSystem dfs = FileSystem.get(getConf()); 得到它啊。
后来发现,我是一个多线程的程序。FileSystem.get(getConf())返回的可能是一个cache中的结果,它并不是每次都创建一个新的实例。这就意味着,如果每个线程都自己去get一个文件系统,然后使用,然后关闭,就会有问题。因为你们关闭的可能是同一个对象。而别人还在用它!
所以***是在main函数中就创建好filesystem对象然后在不同函数之间来回传递吧。在main函数用用try…finally关闭它。
多线程程序中,如果你确保在你的get和close之间不会有别人调用get,也没问题。
以上是"如何解决Hadoop文件系统多次关闭的问题"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
文件
系统
问题
函数
篇文章
线程
之间
内容
对象
程序
不同
不怎么
大部分
实例
意味
时候
是在
更多
知识
结果
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
武汉信息网络安全维护联系人
三级网络技术思科
crs数据库
华三服务器修改密码
学校安全网络安全措施
梦幻西服务器梦幻币比例查询
360网络安全研讨会
京山轻机软件开发
软件开发需要做程序员吗
海南锐锋网络安全
同时登录两个数据库数据源
数据库系统与应用基本常用概念
大兴区信息网络技术服务好处
信创服务器如何选择
什么是sybase数据库
传奇游戏检测服务器是干什么的
网络技术专业属于什么系
没办法恢复数据库实体
软件开发学起来难吗
软件开发要学会那些
绵阳网络安全宣传周启动
DOTA2蓝字显示协调服务器
modebus服务器
网络安全技术王群李馥娟pdf
ualan数据库
服务器安全卫士软件哪个好
服务器稳定性好吗
江苏企业软件开发预算
计算机服务器管理员在哪里
mips环境软件开发