从hdfs下载到本地出现null chmod

1、错误信息:
Exception in thread “main” java.io.IOException: (null) entry in command string: null chmod 0644 F:\hadoop_work\mygit\chapter03\code\project04\dir3
at org.apache.hadoop.util.Shell S h e l l C o m m a n d E x e c u t o r . e x e c u t e ( S h e l l . j a v a : 770 ) a t o r g . a p a c h e . h a d o o p . u t i l . S h e l l . e x e c C o m m a n d ( S h e l l . j a v a : 866 ) a t o r g . a p a c h e . h a d o o p . u t i l . S h e l l . e x e c C o m m a n d ( S h e l l . j a v a : 849 ) a t o r g . a p a c h e . h a d o o p . f s . R a w L o c a l F i l e S y s t e m . s e t P e r m i s s i o n ( R a w L o c a l F i l e S y s t e m . j a v a : 733 ) a t o r g . a p a c h e . h a d o o p . f s . R a w L o c a l F i l e S y s t e m ShellCommandExecutor.execute(Shell.java:770) at org.apache.hadoop.util.Shell.execCommand(Shell.java:866) at org.apache.hadoop.util.Shell.execCommand(Shell.java:849) at org.apache.hadoop.fs.RawLocalFileSystem.setPermission(RawLocalFileSystem.java:733) at org.apache.hadoop.fs.RawLocalFileSystem ShellCommandExecutor.execute(Shell.java:770)atorg.apache.hadoop.util.Shell.execCommand(Shell.java:866)atorg.apache.hadoop.util.Shell.execCommand(Shell.java:849)atorg.apache.hadoop.fs.RawLocalFileSystem.setPermission(RawLocalFileSystem.java:733)atorg.apache.hadoop.fs.RawLocalFileSystemLocalFSFileOutputStream.(RawLocalFileSystem.java:225)
at org.apache.hadoop.fs.RawLocalFileSystem L o c a l F S F i l e O u t p u t S t r e a m . &lt; i n i t &gt; ( R a w L o c a l F i l e S y s t e m . j a v a : 209 ) a t o r g . a p a c h e . h a d o o p . f s . R a w L o c a l F i l e S y s t e m . c r e a t e O u t p u t S t r e a m W i t h M o d e ( R a w L o c a l F i l e S y s t e m . j a v a : 307 ) a t o r g . a p a c h e . h a d o o p . f s . R a w L o c a l F i l e S y s t e m . c r e a t e ( R a w L o c a l F i l e S y s t e m . j a v a : 296 ) a t o r g . a p a c h e . h a d o o p . f s . R a w L o c a l F i l e S y s t e m . c r e a t e ( R a w L o c a l F i l e S y s t e m . j a v a : 328 ) a t o r g . a p a c h e . h a d o o p . f s . C h e c k s u m F i l e S y s t e m LocalFSFileOutputStream.&lt;init&gt;(RawLocalFileSystem.java:209) at org.apache.hadoop.fs.RawLocalFileSystem.createOutputStreamWithMode(RawLocalFileSystem.java:307) at org.apache.hadoop.fs.RawLocalFileSystem.create(RawLocalFileSystem.java:296) at org.apache.hadoop.fs.RawLocalFileSystem.create(RawLocalFileSystem.java:328) at org.apache.hadoop.fs.ChecksumFileSystem LocalFSFileOutputStream.<init>(RawLocalFileSystem.java:209)atorg.apache.hadoop.fs.RawLocalFileSystem.createOutputStreamWithMode(RawLocalFileSystem.java:307)atorg.apache.hadoop.fs.RawLocalFileSystem.create(RawLocalFileSystem.java:296)atorg.apache.hadoop.fs.RawLocalFileSystem.create(RawLocalFileSystem.java:328)atorg.apache.hadoop.fs.ChecksumFileSystemChecksumFSOutputSummer.(ChecksumFileSystem.java:398)
at org.apache.hadoop.fs.ChecksumFileSystem.create(ChecksumFileSystem.java:461)
at org.apache.hadoop.fs.ChecksumFileSystem.create(ChecksumFileSystem.java:440)
at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:911)
at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:892)
at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:789)
at org.apache.hadoop.fs.FileUtil.copy(FileUtil.java:365)
at org.apache.hadoop.fs.FileUtil.copy(FileUtil.java:338)
at org.apache.hadoop.fs.FileUtil.copy(FileUtil.java:289)
at org.apache.hadoop.fs.FileSystem.copyToLocalFile(FileSystem.java:2034)
at org.apache.hadoop.fs.FileSystem.copyToLocalFile(FileSystem.java:2003)
at org.apache.hadoop.fs.FileSystem.copyToLocalFile(FileSystem.java:1979)
at com.hdfs_basic.App.filedown(App.java:79)
at com.hdfs_basic.App.main(App.java:105)

2、原来的:
fs.copyToLocalFile(htfsfile, localfile);
3、解决方法:**
fs.copyToLocalFile(false,htfsfile, localfile,true);
第一个false参数表示不删除源文件,第4个true参数表示使用本地原文件系统

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值