学习篇-Hadoop-HDFS-API-mkdir创建目录文件

一、HDFS-API-mkdir创建目录文件

使用HDFS API的方式来操作HDFS文件系统

  • 创建maven骨架项目工程
  • 在pom.xml文件中添加依赖
# properties节点中添加版本控制
<!--定义Hadoop版本-->
<hadoop.version>2.6.0-cdh5.15.1</hadoop.version>

# 在dependencies节点下添加
<!--添加Hadoop依赖包-->
<dependency>
    <groupId>org.apache.hadoop</groupId>
    <artifactId>hadoop-client</artifactId>
    <version>${hadoop.version}</version>
</dependency>

# repositories节点下添加
<!--引入cdh仓库-->
<repository>
    <id>cloudera</id>
    <url>https://repository.cloudera.com/artifactory/cloudera-repos</url>
</repository>
  • java简单代码
public static void main(String[] args) throws Exception {
    // 获取配置对象
    Configuration configuration = new Configuration();
    // 通过final URI uri, final Configuration conf, final String user)构造fileSystem
    FileSystem fileSystem = FileSystem.get(new URI("hdfs://139.129.240.xxx:8020"), configuration, "root");
    // 需要创建的文件路径
    Path path = new Path("/hdfsapi/test");
    // 创建文件路径
    boolean result = fileSystem.mkdirs(path);
    System.out.println("result--->" + result);
}

  • 运行结果
    在这里插入图片描述
  • 查看服务器结果,命令:hadoop fs -ls /
    在这里插入图片描述
  • 出现的问题:
    • 因为我用阿里云搭建的,启动hadoop服务的端口是8020,安全添加了该规则但是依旧拒绝访问。
      • 需要将core-site.xml配置改成hdfs://0.0.0.0:8020任意主机可访问,或者是自己的主机ip
    • 代码调试出现Permission denied: user=localhost, access=WRITE, inode="/":root:supergroup:drwxr-xr-x
      • 将FileSystem.get里的user参数改成提示的用户root。
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值