之前已经在虚拟机上安装好了hadoop,下面纪录下用java操作hdfs和中间遇到的一些问题,使用的是伪分布式模式
此处默认已经具备jdk环境.
将hadoop的压缩包解压到任意目录
在环境变量中配置HADOOP_HOME变量,值为hadoop所在的目录
import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FileSystem; import org.junit.Before; import org.junit.Test; import java.net.URI; public class JavaToHDFS { // 定义类变量:文件系统,用来链接hdfs FileSystem fs = null; //预处理,链接hdfs @Before public void init() throws Exception { fs = FileSystem.get(new URI("hdfs://192.168.10.102:9000"), new Configuration(), "root"); } @Test public void mkdir() { System.out.println(fs); } }
测试会发现会报一个这样的错误
这是因为在本地运行hadoop程序需要依赖一些依赖库和工具类,需要工具的可以直接搜索你对应Hadoop版本的winutils.exe
下载完后吧他bin里面的文件全部拷贝到Hadoop的bin文件中
添加完后就可以正常运行了