hdfs的简单Java客户端访问

1、下载解压hadoop

    个人使用的是hadoop-2.9.0版本,官网下载,并解压;

    配置环境变量HADOOP_HOME,%HADOOP_HOME%\bin 添加至Path中;

    打开cmd,输入hadoop,会出现hadoop的命令使用帮助情况:


安装成功;

2、idea下创建Java项目

file-->New--> Project-->Java,jdk设置


一直点击next继续-->项目命名-->finish


添加hadoop依赖包,common、hdfs包目录下有lib;

添加main类访问:

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

import java.net.URI;

public class HdfsClientTest {

    public static void main(String[] args) throws Exception{

        // 配置读取,读取默认配置
     Configuration conf = new Configuration();

        // hdfs客户端对象获取
     FileSystem fs = FileSystem.get(new URI("hdfs://master:9000"),conf,"hadoop");
        // hdfs系统下载文件到本地
     fs.copyToLocalFile(new Path("/access.log.1"),new Path("d:/"));
        fs.close();

    }

}

右击run执行,查看d盘:


.crc文件是数据块的校验值。

3、报错问题:Exception in thread "main" java.lang.RuntimeException: java.io.FileNotFoundException: Could not locate Hadoop executable: D:\Develop\repository\hadoop-2.9.0\bin\winutils.exe -see https://wiki.apache.org/hadoop/WindowsProblems;

查看hadoop安装目录下的bin发现没有winutils.exe,需要下载:https://github.com/srccodes/hadoop-common-2.2.0-bin

添加至hadoop的bin目录下。

参考博客https://www.cnblogs.com/hyl8218/p/5492450.html。

猜你喜欢

转载自blog.csdn.net/m0_38014125/article/details/80255301
今日推荐