hadoop 3 java_hadoop3.x HDFS java第一个例子

idea 创建maven工程

修改pom.xml

添加如下依赖:

junit

junit

4.13.1

org.apache.hadoop

hadoop-common

3.0.3

org.apache.hadoop

hadoop-client

3.0.3

org.apache.hadoop

hadoop-hdfs

3.0.3

在 pom.xml 点击右键 -> 【maven】 -> 【reimport】 导入依赖

log4j.properties

打印 hadoop debug 信息

在 resources 文件夹下创建 log4j.properties 文件,内容如下:

log4j.rootLogger=DEBUG, 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

创建测试类

在 test -> java 下创建类 top.malaoshi.test.Main,内容如下:

package top.malaoshi.test;

import org.apache.hadoop.conf.Configuration;

import org.apache.hadoop.fs.FileSystem;

import org.apache.hadoop.fs.Path;

import org.junit.Test;

import java.net.URI;

public class Main {

@Test

public void mkdir() throws Exception {

Configuration config = new Configuration();

// 1 获取文件系统。设置集群url、操作用户

FileSystem fs = FileSystem.get(new URI("hdfs://localhost:9000"), config, "root");

// 2 创建目录

boolean res=fs.mkdirs(new Path("/test"));

System.out.println("result:"+res);

// 3 关闭

fs.close();

}

}

解释:hdfs://localhost:9000

hdfs://localhost:9000 是 etc/hadoop/core-site.xml 中的配置,如下:

fs.defaultFS

hdfs://0.0.0.0:9000

端口号要一直

IP不一致,是因为 物理机上开发java程序,所以是 hdfs://localhost:9000

hadoop在虚拟机上,所以是 hdfs://0.0.0.0:9000

解释:root

在 hadoop-env.sh 最下面配置的用户就是 root,如下:

export HDFS_DATANODE_USER=root

export HDFS_NAMENODE_USER=root

export HDFS_SECONDARYNAMENODE_USER=root

export YARN_RESOURCEMANAGER_USER=root

export YARN_NODEMANAGER_USER=root

hadoop查看

执行下面命令:

hadoop fs -ls /

可以看到已经创建的文件夹

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值