HDFS客户端及API操作实验

实验二  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.rhkb.cn/news/210062.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深度学习——第3章 Python程序设计语言(3.3 Python数据类型)

3.3 Python数据类型 目录 1. Python数值数据类型 2. Python库的导入和使用 3. Python序列数据类型 4. Python组合数据类型 计算机能处理各种类型的数据,包括数值、文本等,不同的数据属于不同的数据类型,有不同的存储方式,支持…

EM32DX-C2【C#】

1说明: 分布式io,CAN总线,C#上位机二次开发(usb转CAN模块) 2DI: 公共端是: 0V【GND】 X0~X15:自带24v 寄存器地址:0x6100-01 6100H DI输入寄存器 16-bit &#x…

nginx部署和安装-后端程序多端口访问-后端代理设置

部分补充 查看nginx是否安装http_ssl_module模块 ./nginx -V 看到有 configure arguments: --with-http_ssl_module, 则已安装。 如果没有安装:参考文档 nginx官网地址:nginx: download 这里下载nginx-1.18.0稳定版tar.gz 下载后,利用…

2023年多元统计分析期末试题

一、简答题 1、试述距离判别法、Fisher判别法和贝叶斯判别法的异同。 二、 2、设 X {X} X~ N 2 {N_2} N2​(μ,Σ),其中 X {X} X ~ ( X 1 {X_1} X1​, X 2 {X_2} X2​, X 3 {X_3} X3​),μ ( μ 1 {μ_1} μ1​, μ 2 {μ_2} …

长度最小的子数组

长度最小的子数组 描述 : 给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其总和大于等于 target 的长度最小的 连续子数组 [numsl, numsl1, …, numsr-1, numsr] ,并返回其长度。如果不存在符合条件的子数组,返回 0 。 题目…

MySQL表的查询、更新、删除

查询 全列查询 指定列查询 查询字段并添加自定义表达式 自定义表达式重命名 查询指定列并去重 select distinct 列名 from 表名 where条件 查询列数据为null的 null与 (空串)是不同的! 附:一般null不参与查询。 查询列数据不为null的 查询某列数据指定…

GPT市场将取代插件商店 openAI已经关闭plugins申请,全部集成到GPTs(Actions)来连接现实世界,可以与物理世界互动了。

Actions使用了plugins的许多核心思想,也增加了新的特性。 ChatGPT的"Actions"与"Plugins"是OpenAI在GPT模型中引入的两种不同的功能扩展机制。这两种机制的目的是增强模型的功能,使其能够处理更多样化的任务和请求。下面是对两者的比…

快手视频如何去掉水印?三个简单好用视频去水印方法

快手视频如何去掉水印?尽管新兴的短视频平台如春笋般涌现,吸引了众多观众在业余时间浏览和分享视频,快手作为当下主流短视频之一,许多自媒体创作者也常常会下载一些热门的视频素材进行二次编辑。然而,他们都可能会面临…

Apache solr XXE 漏洞(CVE-2017-12629)

任务一: 复现环境中的漏洞 任务二: 利用XXE漏洞发送HTTP请求,在VPS服务器端接受请求,或收到DNS记录 任务三: 利用XXE漏洞读取本地的/etc/passwd文件 1.搭建环境 2.开始看wp的时候没有看懂为什么是core,然…

SaToken利用Redis做持久化

官网解释 官网解释 教程 引入依赖 <!-- 提供Redis连接池 --> <dependency><groupId>org.apache.commons</groupId><artifactId>commons-pool2</artifactId> </dependency><!-- Sa-Token 整合 Redis &#xff08;使用 jdk 默认序…

2023年亚太杯APMCM数学建模大赛B题玻璃温室小气候调控

2023年亚太杯APMCM数学建模大赛 B题 玻璃温室小气候调控 原题再现 温室作物的产量受各种气候因素的影响&#xff0c;包括温度、湿度和风速[1]。其中&#xff0c;适宜的温度和风速对植物生长至关重要[2]。为了调节玻璃温室内的温度、风速等气候因素&#xff0c;在温室设计中常…

能源企业管理ERP系统都有哪些?可以帮助企业解决哪些难点

能源企业在不同的发展阶段面对的经营压力以及遇到的管理问题各异&#xff0c;随着部分产品结构的复杂化&#xff0c;日常经营管理工作也愈加繁琐。 有些能源企业内部存在信息传递不畅、经营数据统计不及时、部门协作效率低、多仓库和多平台数据不统一等情况&#xff0c;而这些…

【WebSocket】通信协议基于 node 的简单实践和心跳机制和断线重连的实现

前后端 WebSocket 连接 阮一峰大佬 WebSocket 技术博客 H5 中提供的 WebSocket 协议是基于 TCP 的全双工传输协议。它属于应用层协议&#xff0c;并复用 HTTP 的握手通道。它只需要一次握手就可以创建持久性的连接。 那么什么是全双工呢&#xff1f; 全双工是计算机网络中的…

Windows中使用ScreenToGif进行Gif录屏

文章目录 一、前言二、下载ScreenToGif2.1、官网2.2、Github下载 三、使用ScreenToGif3.1、安装打开3.2、录像机3.3、录屏3.4、保存Gif动图3.5、保存完成 四、最后 一、前言 之前写文章时需要录制网页操作效果&#xff0c;使用的是谷歌的扩展插件【镀铬捕获】&#xff0c;后面…

前端mp3文件转wav文件的实现

一、音频文件格式转换 1&#xff09;安装fluent-ffmpeg和ffmpeg插件 npm install fluent-ffmpeg; npm install ffmpeg;2&#xff09;mp3转wav test.js文件&#xff1a; const ffmpeg require(fluent-ffmpeg);ffmpeg(./test.mp3) .format(wav) .audioBitrate(16k) .audioFre…

vue3 vue-router的安装及配置 (一)

文章目录 一、安装二、Vue Router配置2.1 vue-router两种引入方式的区别2.2 不同的历史模式 三、router-link四、router-view Vue Router作用&#xff1a;在应用程序中实现优雅的导航和路由管理。 一、安装 注意&#xff1a;vue3安装的是vue-router4,vue2安装的是vue-router3…

@PostConstruct使用详解

一、简介 在Spring应用程序中启动时&#xff0c;有时需要在所有Bean都已加载&#xff0c;初始化并准备好之后执行某些自定义代码。这时&#xff0c;Spring提供了一个可用的方式&#xff0c;即使用PostConstruct注解。这个注解用于标记一个方法&#xff0c;这个方法将在Bean初始…

HarmonyOS4.0系列——03、声明式UI、链式编程、事件方法、以及自定义组件简单案例

HarmonyOS4.0系列——03、声明式UI、链式编程、事件方法、以及自定义组件简单案例 声明式 UI ArkTS以声明方式组合和扩展组件来描述应用程序的UI&#xff0c;同时还提供了基本的属性、事件和子组件配置方法&#xff0c;帮助开发者实现应用交互逻辑。 如果组件的接口定义没有包…

Dockerfile脚本编写流程及示例

学习dockerfile指令 Dockerfile 指令 说明 FROM 指定基础镜像 MAINTAINER 声明镜像的维护者 LABEL 添加元数据标签 RUN 在容器中执行命令 CMD 容器启动后默认执行的命令 EXPOSE 暴露容器的端口 ENV 设置环境变量 ADD 将文件、目录或远程文件添加到容器中 COP…

第五天 用Python批量处理Excel文件,实现自动化办公

用Python批量处理Excel文件&#xff0c;实现自动化办公 一、具体需求 有以下N个表&#xff0c;每个表的结构一样&#xff0c;如下&#xff1a; 需要把所有表数据汇总&#xff0c;把每个人的得分、积分分别加起来&#xff0c;然后按总积分排名&#xff0c;总积分一致时&#xff…