安装hadoop
1.首先解压hadoop安装包
2.直接配置hadoop环境变量
HADOOP_HOME=hadoop安装路径(不要有中文目录)
在PATH里添加hadoop下bin的路径
3.测试:在cmd窗口 hadoop version 显示版本号则安装成功
maven
1.启动idea
2.建立maven工程
3.在自动生成的pom.xml文件下导包
导包
1.在setting下输入maven,找到它
有settings.xml文件
2.编辑这个文件
修改这两部分
<localRepository>E:/maven/respository</localRepository>
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>*,!jeecg,!jeecg-snapshots,!mapr-releases</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
<mirror>
<id>mapr-public</id>
<mirrorOf>mapr-releases</mirrorOf>
<name>mapr-releases</name>
<url>https://maven.aliyun.com/repository/mapr-public</url>
</mirror>
</mirrors>
3.在指定路径下创建文件夹
例:E:/maven/respository
4.在pom.xml文件下导包
例如:要junit的jar包
1.在maven网站上搜索junit的jar包他就有这个命令,找到版本复制粘贴就OK
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13</version>
</dependency>
</dependencies>
操作HDFS
1、为了方便,在src/main/java下创建一个package
2.再这个package里创建一个java文件
3.用junit中的@Test注解进行测试
4.在before中写的函数会在test执行前先执行
Configuration conf = new Configuration();
FileSystem.get(new URI(“hdfs://192.168.245.133:9000”), conf, “hduser”);
返回一个文件系统,这个文件系统中有关于操作HDFS的函数可直接调用
第一个参数是hdfs的ip:端口号
第二个参数需要一个Configuration类型的
第三个参数需要用户名
例:在hdfs中创建一个文件夹名字叫test.txt
FileSystem hduser =null;
@Before
public void beforetest() throws URISyntaxException, IOException, InterruptedException {
Configuration conf = new Configuration();
hduser = FileSystem.get(new URI("hdfs://192.168.245.133:9000"), conf, "hduser");
}
@Test
public void add() throws IOException {
hduser.mkdirs(new Path("/test.txt"));
hduser.close();
}
6.关闭文件系统
hduser.close();
显示文件信息
public void quaryFileInfoTest() throws IOException {
RemoteIterator<LocatedFileStatus> locatedFileStatusRemoteIterator = hduser.listFiles(new Path("/"), true);
while (locatedFileStatusRemoteIterator.hasNext()){
LocatedFileStatus next = locatedFileStatusRemoteIterator.next();
System.out.println(next.getPath().getName());
System.out.println(next.getPermission());
System.out.println(next.getOwner());
System.out.println(next.getGroup());
System.out.println(next.getLen());
BlockLocation[] blockLocations = next.getBlockLocations();
for(BlockLocation blockLocation:blockLocations){
String[] hosts = blockLocation.getHosts();
for(String host:hosts){
System.out.println(host);
}
}
}
hduser.close();
}
怎么将日志信息显示在控制台
1.在resources里创建一个叫log4j.properties的文件
2.加入如下内容
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