使用JAVA上传文件至HDFS失败
添加依赖后报错信息如下:
2021-06-25 11:06:01,071 [main] [org.apache.hadoop.util.Shell] [WARN] - Did not find winutils.exe: java.io.FileNotFoundException: java.io.FileNotFoundException: HADOOP_HOME and hadoop.home.dir are unset. -see https://wiki.apache.org/hadoop/WindowsProblems
2021-06-25 11:06:01,138 [main] [org.apache.hadoop.util.NativeCodeLoader] [WARN] - Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
尝试过的解决方式:
网上下载winutils文件到本地hadoop\bin目录下,并在配置了相关的环境变量,未报错,但HDFS目录下找不到上传的文件
在代码行里面加入了config.set("hadoop.home.dir","D:\\hadoop-3.2.0");还是未能解决此问题
相关代码:
Configuration config = new Configuration();
config.set("fs.DefaultFS","hdfs://shendongchao:9000");
config.set("hadoop.home.dir","D:\\hadoop-3.2.0");
FileSystem fileSystem = FileSystem.get(config);
put(fileSystem);private static void put(FileSystem fileSystem) throws IOException {
FSDataOutputStream fos = fileSystem.create(new Path("/abc.txt"));
FileInputStream fis = new FileInputStream("D:\\abc.txt");
IOUtils.copyBytes(fis,fos,1024,true);
}
32
收起
正在回答 回答被采纳积分+1
1回答
相似问题
登录后可查看更多问答,登录/注册
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星