欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

windows上传文件到虚拟机的hdfs上

程序员文章站 2022-05-01 10:09:43
...

org.apache.hadoop.security.AccessControlException: Permission denied: user=ASUS, access=WRITE, inode
今天在windows连接虚拟机的hdfs,通过IDEA上传文件到虚拟机的hdfs上,出现了权限不足问题,原因是以windows的用户上传文件,所以出错,原代码如下:

package cn.edu.lingnan.hdfsclient;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.junit.Test;

import java.io.IOException;
import java.net.URI;

public class HDFSClient {
    @Test
    public void put() throws IOException
    {
        FileSystem fileSystem = FileSystem.get(URI.create("hdfs://192.168.218.130:9000"),new Configuration());
        fileSystem.copyFromLocalFile(new Path("D:\\1.txt"),new Path("/"));
        fileSystem.close();
    }
}

后来加了一句以虚拟机的用户上传文件:

System.setProperty("hadoop","user");

运行还是出错,经过上网搜索发现是要在hadoop的hdfs-site.xml配置文件加上用户才行:

<property>
    <name>dfs.permissions</name>
    <value>false</value>
</property>

然后代码就能顺利执行,文件也能成功上传了。
windows上传文件到虚拟机的hdfs上

相关标签: Hadoop hadoop