What to do when downloading and reporting NullPointerException with copyToLocalFile method in hadoop
This article will explain in detail how to use the copyToLocalFile method to download the newspaper NullPointerException in hadoop, the content of the article is of high quality, so the editor will share it with you for reference. I hope you will have a certain understanding of the relevant knowledge after reading this article.
/ * download file * / @ Test public void download () throws Exception {fs.copyToLocalFile (new Path ("hdfs://master:9000/aa/lidunhui.jpg"), new Path ("e://wangbadan.txt"));}
Run the download test and report a null pointer exception, as follows:
Java.lang.NullPointerException at java.lang.ProcessBuilder.start (ProcessBuilder.java:1010) at org.apache.hadoop.util.Shell.runCommand (Shell.java:445) at org.apache.hadoop.util.Shell.run (Shell.java:418) at org.apache.hadoop.util.Shell$ShellCommandExecutor.execute (Shell.java:650) at org.apache.hadoop.util.Shell.execCommand (Shell.java:739) at org.apache.hadoop.util.Shell.execCommand ( Shell.java:722) at org.apache.hadoop.fs.RawLocalFileSystem.setPermission (RawLocalFileSystem.java:633) at org.apache.hadoop.fs.FilterFileSystem.setPermission (FilterFileSystem.java:467) at org.apache.hadoop.fs.ChecksumFileSystem.create (ChecksumFileSystem.java:456) at org.apache.hadoop.fs.ChecksumFileSystem.create (ChecksumFileSystem.java:424) at org.apache.hadoop.fs.FileSystem.create (FileSystem.java:906) at org.apache.hadoop. Fs.FileSystem.create (FileSystem.java:887) at org.apache.hadoop.fs.FileSystem.create (FileSystem.java:784) 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:1968) at Org.apache.hadoop.fs.FileSystem.copyToLocalFile (FileSystem.java:1937) at org.apache.hadoop.fs.FileSystem.copyToLocalFile (FileSystem.java:1913) at com.jasun.hadoop.hdfs.HdfsUtil.download (HdfsUtil.java:62) at sun.reflect.NativeMethodAccessorImpl.invoke0 (NativeMethod) at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke (Method.java:606) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall (FrameworkMethod.java:50) at org.junit.internal.runners.model.ReflectiveCallable.run (ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively (FrameworkMethod.java:47) at org.junit.internal.runners.statements.InvokeMethod.evaluate (InvokeMethod.java:17) at org.junit.internal.runners.statements.RunBefores.evaluate (RunBefores.java:26) At org.junit.runners.ParentRunner.runLeaf (ParentRunner.java:325) at org.junit.runners.BlockJUnit4ClassRunner.runChild (BlockJUnit4ClassRunner.java:78) at org.junit.runners.BlockJUnit4ClassRunner.runChild (BlockJUnit4ClassRunner.java:57) at org.junit.runners.ParentRunner$3.run (ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule (ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren (ParentRunner.java:288) at org.junit.runners .ParentRunner. Access $000 (ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate (ParentRunner.java:268) at org.junit.runners.ParentRunner.run (ParentRunner.java:363) at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run (JUnit4TestReference.java:86) at org.eclipse.jdt.internal.junit.runner.TestExecution.run (TestExecution.java:38) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests (RemoteTestRunner. Java:459) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests (RemoteTestRunner.java:675) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run (RemoteTestRunner.java:382) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main (RemoteTestRunner.java:192)
Solutions are as follows:
Change fs.copyToLocalFile (hdfsPath,localPath); to fs.copyToLocalFile (false,hdfsPath,localPath,true)
/ * download file * / @ Test public void download () throws Exception {fs.copyToLocalFile (false, new Path ("hdfs://master:9000/aa/lidunhui.jpg"), new Path ("e://wangbadan.txt"), true);} about what to do about downloading newspaper NullPointerException with copyToLocalFile method in hadoop. I hope the above content can be helpful to you and learn more knowledge. If you think the article is good, you can share it for more people to see.