TestHDFS.java

package cn.itcast.hdfs;

import java.io.IOException;

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

public class TestHDFS {
    public static void main(String[] args) throws IOException {
        Configuration conf = new Configuration();
        //1首先需要一个hdfs的客户端对象
        conf.set("fs.defaultFS", "hdfs://mini1:9000");
        FileSystem fs = FileSystem.get(conf);
        fs.copyFromLocalFile(new Path("E://he.txt"), new Path("/"));
        fs.close();
    }
}

此时报错,权限不足:

大数据学习——上传本地文件到集群根目录下

大数据学习——上传本地文件到集群根目录下

 

修改后的代码(伪造一个root身份):

package cn.itcast.hdfs;

import java.io.IOException;

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

public class TestHDFS {
    public static void main(String[] args) throws IOException {
        Configuration conf = new Configuration();

        //伪造root用户身份
        System.setProperty("HADOOP_USER_NAME","root");

        //1首先需要一个hdfs的客户端对象
        conf.set("fs.defaultFS", "hdfs://mini1:9000");
        FileSystem fs = FileSystem.get(conf);
        fs.copyFromLocalFile(new Path("E://he.txt"), new Path("/"));
        fs.close();
    }
}

 

或者是运行时加一个参数:

 

VM-arguements:

-DHADOOP——USER_NAME=root

 

大数据学习——上传本地文件到集群根目录下

 

大数据学习——上传本地文件到集群根目录下

 

相关文章:

  • 2021-11-28
  • 2022-02-12
  • 2021-07-20
  • 2021-04-03
  • 2021-10-15
  • 2021-12-08
  • 2021-04-13
猜你喜欢
  • 2021-10-22
  • 2021-10-17
  • 2022-12-23
  • 2021-06-13
  • 2022-12-23
  • 2022-02-22
相关资源
相似解决方案