HDFS客户端及API操作实验

news/2024/12/26 23:23:12/

实验二  HDFS客户端及API操作

实验目的:

1.掌握HDFS的客户端操作,包括上传文件、下载文件、重命名、查看目录等;

2.掌握HDFS的Java API使用,能够利用Java API实现上传、下载等常用操作;

实验内容:

  1. HDFS客户端的使用

已搭建好三节点HDFS的前提下,启动集群并在各自节点实现以下操作:

  1. 在HDFS中创建以自己姓名首字母命名的文件夹(以下以/zs为例)
  2. 将/etc/mandb.conf从本地拷贝至/zs
  3. 本地创建test.txt内容为hello hdfs,并从本地剪切到/zs
  4. 本地创建文件test1.txt,内容为hello Hadoop,并将test1.txt 追加到test.txt文件末尾
  5. 从HDFS下载test.txt文件到本地
  6. 查看/zs文件夹下有哪些文件
  7. 查看test1.txt的文件内容
  8. 将test1.txt文件拷贝至/input目录
  9. 删除/input /test1.txt文件
  10. 通过命令将/zs/test1.txt文件的副本数改为10
  11. 在DataNode节点找到HDFS数据的存储位置,并将文件/zs/test1.txt本地块删除,观察效果
  12. 导出fsimage与editslog文件,观察并解释文件内容

    将其复制到IDLExml文件中,可以清楚地看到

    可见Fsimage中并没有记录块对应的DataNode

    这是因为在集群启动之后,要求DataNode上报数据块信息,并且每隔一段时间再次上报





  1. 未完待续


    利用HDFS的Java API完成以下操作:

(1)在window中配置API环境(下载windows依赖、配置环境变量)并测试

(2)打开IDEA创建Maven工程HDFStest

(3)在pom.xml文件中添加相关依赖(hadoop-client、log4j、junit)

(4)配置log4j.properties文件

(5)创建HDFSClient类

(6)编写myMkdirs()函数,实现在HDFS端创建目录JAVA_姓名拼音首字母缩写,并用单元测试进行测试

(7)编写myUpload()函数,实现将本地文件上传至HDFS,并进行单元测试

(8)编写myDownload()函数,将test1.txt文件下载至本地,并进行单元测试

(9)编写myRename()函数,实现将test1.txt重命名为 mytest1.txt,并进行单元测试

(10)编写myRm()函数,实现将mytest1.txt删除,并进行单元测试

(11)编写myLs()函数,获取根目录(/)下所有文件的详细信息,包括权限、拥有者、所属组、文件大小、修改时间等。(若存在目录则,递归显示目录中的文件)


http://www.ppmy.cn/news/1256720.html

相关文章

全网最牛最“刑”的Fiddler移动端抓包

本篇文章,博主想使用通俗易懂的话语,让大家明白以下内容: 什么是抓包哪些场景需要用到抓包Fiddler抓包的原理怎样使用Fiddler进行移动端抓包 抓包 包 (Packet) 是TCP/IP协议通信传输中的数据单位,一般也称“数据包”。 我们平常…

YITH WooCommerce Social Login跨境电商网站社交登录高级版插件

点击阅读YITH WooCommerce Social Login跨境电商网站社交登录高级版插件原文 YITH WooCommerce Social Login跨境电商网站社交登录高级版插件让您的用户节省时间并通过他们的社交资料之一登录或注册网站。 您如何从中受益: 用户无需填写表格、插入个人数据&#…

记一次ThreadPoolTaskExecutor的坑

起因: 开发环境一切正常 部署到UAT环境后,项目中使用Async修饰的方法没有执行。 临时解决方法: 先去掉该注解改成同步执行。 问题排查过程: 1.创建一个测试controller,用于观察线程池情况 package org.example.c…

linux 讨论题合集(个人复习)

常规文件的权限是什么?如何分配或修改这些权限?文件夹(目录)的权限是什么?显示常规文件和文件夹的区别 讨论:①常规的文件权限有四种,r可读、w可写、x可执行、-没有权限;②可以使用c…

YOLOv8改进有效涨点 | 2023 | SPD-Conv空间深度转换卷积(高效空间编码技术)

一、本文介绍 本文给大家带来的改进内容是SPD-Conv(空间深度转换卷积)技术。SPD-Conv是一种创新的空间编码技术,它通过更有效地处理图像数据来改善深度学习模型的表现。SPD-Conv的基本概念:它是一种将图像空间信息转换为深度信息…

操作系统·设备管理

I/O系统是计算机系统的重要组成部分,是OS中最复杂且与硬件密切相关的部分 I/O系统的基本任务是完成用户提出的I/O请求,提高I/O速率以及改善I/O设备的利用率,方便高层进程对IO设备的使用 I/O系统包括用于实现信息输入、输出和存储功能的设备和…

跟我学c++高级篇——动态反射之二动态列表

一、动态生成列表 在上一篇中实现了一个Map映射,其实就是一个表。但那个表有点维护和扩展上的不方便,所以后为又开始用静态展开递归的方式来遍历枚举。其不管是怎么做,都是要得到整个枚举体的信息,然后才能进行处理。 这次使用一…

微信开发者工具里面模拟操作返回、录屏、网络速度、截屏等操作

有时候可能因为自己开发的页面使用了自定义的样式,所以没有了左上角的导航返回,所以进入我自定义的页面后,想要返回的话,就可以用到这里面你的操作,或者想截屏了也可以直接使用里面的截屏,或者返回主页面等…