1.首先虚拟机启动hadoop集群分布式系统或者伪分布式
2.将hadoop安装压缩到本地目录
切记:本地目录不能带中文名字会出错
3.配置Hadoop_Home环境变量在高级环境内设置
4.在idle创建maven项目
在pom.xml中导入相关依赖包:hadoop_hdfs,hadoop_common,hadoop_client
在maven resporitry官网上找到相关依赖包
也可以导入相关日志管理
控制日志级别依赖
在resources中创建log4j.properties文件控制日志数量
log4j.rootLogger=INFO, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n
log4j.appender.logfile=org.apache.log4j.FileAppender
log4j.appender.logfile.File=target/spring.log
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d %p [%c] - %m%n
4.验证是否连接成功
在项目中创建Java
package hdfs;
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;
import java.net.URISyntaxException;
public class client {
@Test
public void testMkdirs() throws IOException, URISyntaxException, InterruptedException {
//获取Hadoop集群的configuraion
Configuration conf = new Configuration();
//获取集群文件对象
FileSystem fs = FileSystem.get(new URI("hdfs://hadoop102:8020"), conf, "root");
//创建一个测试目录
fs.mkdirs(new Path("/api_test1"));
//关闭文件
fs.close();
}
}
在web_url中验证是否创建
如遇到此类问题出现:
用户权限出现问题
解决方案:
给hdfs目录所有权限可读可写
hadoop fs -chmod -R 777/