hadoop下载文件 代码如下:
package week01;
import java.io.FileInputStream;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
import org.apache.commons.io.IOUtils;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FSDataOutputStream;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.junit.Before;
import org.junit.Test;
public class HdfsUtil {
FileSystem fs = null;
@Before
public void init() throws IOException, InterruptedException, URISyntaxException{
Configuration conf = new Configuration();
conf.set("fs.defaultFS", "hdfs://week01:9000");
//fs = FileSystem.get(conf);
fs = FileSystem.get(new URI("hdfs://week01:9000"), conf, "hadoop");
}
/**
* 下载文件 使用封装好的方法
* @throws Exception
* @throws IllegalArgumentException
*/
@Test
public void download() throws Exception{
fs.copyToLocalFile(new Path("hdfs://week01:9000/aa/test2.txt"), new Path("c:/test2.txt"));
}
}
确实如很多网友说的:
出现原因:缺少hadoop.dll或winutils.exe
解决办法:缺少哪个,就在本地的E:\hadoop\hadoop-2.6.4\bin下加上哪个。
而这个方法,貌似不好使,经过亲自测试,解决方法如下所示:
在你的bin目录里面加上这两个文件,然后呢,在你的C:\Windows\System32加上hadoop.dll就可以解决上面出现的错误。
资源链接:https://download.csdn.net/download/qq_31090095/10883609