搭建了一个Hadoop的环境,Hadoop集群环境部署在几个Linux服务器上,现在想使用windows上的Java客户端来操作集群中的HDFS文件,但是在客户端运行时出现了如下的认证错误,被折磨了几天,问题终得以解决。以此文记录问题的解决过程。
(如果想看最终解决问题的方法拉到最后,如果想看我的问题解决思路请从上向下看)
问题描述
上传文件的代码:
private static void uploadToHdfs() throws FileNotFoundException,IOException {
//我的文件地址
String localSrc = "E:\\快盘\\技术文档\\hadoop\\HDFS初步研究.pdf";
//存放在云端的目的地址
String dest = "hdfs://192.168.2.156:9000/user/HDFS初步研究.pdf";
InputStream in = new BufferedInputStream(new FileInputStream(localSrc));
//得到配置对象
Configuration conf = new Configuration();
// conf.set("fs.default.name","hdfs://192.168.2.156:9000");
//文件系统
FileSystem fs = FileSystem.get(URI.create(dest), conf);
//输出流
OutputStream out = fs.create(new Path(dest), new Progr