hdfs操作注意事项
- 注意关闭虚拟机防火墙设置
- 如果开启了翻墙代理,注意调整到本地模式
- 在core-site.xml中配置时,不要使用localhost,而应该使用虚拟机IP地址,否则无法连接到虚拟机hadoop
- 如下权限不够:
修改用户权限
- 上传成功
源代码
public static void main(String[] args) throws Exception {
// SpringApplication.run(DemoApplication.class, args);
String localSrc = "F:\\test.jpg";
String destSrc = "hdfs://192.168.174.128:9000/hello.jpg";
InputStream input = new BufferedInputStream(new FileInputStream(localSrc));
Configuration conf = new Configuration(); //获取配置信息
// conf.set("fs.defaultFS","hdfs://192.168.174.128:9000");
URI uri = URI.create("hdfs://192.168.174.128:9000"); //生成hdfsURI
FileSystem hdfs = FileSystem.get( uri,conf); //获取文件系统
OutputStream out = hdfs.create(new Path(destSrc), new Progressable() {
@Override
public void progress() {
System.out.println("上传完一个文件");
}
});
IOUtils.copyBytes(input,out,4096,true); //上传文件
}