HDFS客户端及API操作实验

news/2024/2/28 18:19:48

实验二  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映射,其实就是一个表。但那个表有点维护和扩展上的不方便,所以后为又开始用静态展开递归的方式来遍历枚举。其不管是怎么做,都是要得到整个枚举体的信息,然后才能进行处理。 这次使用一…

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

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

Haiku库和Jax库介绍

Haiku 是由DeepMind开发的一个深度学习库,它建立在JAX(Just Another XLA,为Accelerated Linear Algebra的缩写)之上。JAX 是一个由Google开发的数值计算库,专注于高性能数值计算和自动微分。 JAX 提供了强大的数值计算…

代码随想录二刷 |字符串|总结篇

代码随想录二刷 |字符串|总结篇 什么是字符串双指针法翻转KMP 什么是字符串 字符串是若干字符组成的有限序列,也可以理解为是一个字符数组,C提供一个string类,string类会提供 size 接口,可以用来判断 stri…

深入了解Java Period类,对时间段的精确控制

阅读建议 嗨,伙计!刷到这篇文章咱们就是有缘人,在阅读这篇文章前我有一些建议: 本篇文章大概2900多字,预计阅读时间长需要3分钟。本篇文章的实战性、理论性较强,是一篇质量分数较高的技术干货文章&#x…

蓝桥杯每日一题2023.12.3

题目描述 1.移动距离 - 蓝桥云课 (lanqiao.cn) 题目分析 对于此题需要对行列的关系进行一定的探究,所求实际上为曼哈顿距离,只需要两个行列的绝对值想加即可,预处理使下标从0开始可以更加明确之间的关系,奇数行时这一行的数字需…

C++:智能指针[重点!]

目录 一、关于智能指针 1、引入智能指针 2、RAII 二、详述智能指针 auto_ptr unique_ptr shared_tr 循环引用 weak_ptr 定制删除器 三、关于内存泄漏 一、关于智能指针 1、引入智能指针 首先引入一个例子: 在Test函数中,new了两个对象p1p2&a…

Python+OpenCV实现最强自动扫雷

文章目录 准备实现思路窗体截取雷块分割雷块识别扫雷算法实现关于Python技术储备一、Python所有方向的学习路线二、Python基础学习视频三、精品Python学习书籍四、Python工具包项目源码合集①Python工具包②Python实战案例③Python小游戏源码五、面试资料六、Python兼职渠道 用…

K-Means 算法详解

K-Means 算法详解 K-Means 是一种流行的聚类算法,用于将数据划分为预定数量的簇(clusters)。 K-Means 算法的基本步骤 1. 初始化 随机选择 k k k 个数据点作为初始质心(centroids)。 2. 分配数据点 将每个数据点…

Vue3Element-plus编写一个简版的字典服务

之前公司有维护过一个内部的字典平台,基本步骤和页面如下 添加字典属性弹窗 添加枚举值弹窗 基本业务代码如下 核心代码 import { defineStore } from pinia export const useDictionary defineStore(dictionary, {state: () > ({dict: [],dictObj: {},}),actions: {s…

【Appium】解决搜索输入框无搜索按钮

问题:被测组件为搜索输入框,但是无搜索按钮,需要点击键盘的回车按钮,来进行搜索 使用环境:appium 、 python、 Android手机 操作背景 如果使用appium 输入中文字符,则需要设置’unicodeKeyboard’: True…

开箱即用!教你如何正确使用华为云CodeArts IDE for C/C++!

华为云CodeArts IDE 定位华为云开发者桌面,是华为云面向开发者提供的一款智能化桌面集成开发环境。CodeArts for C/C集成了华为自研的C/C语言服务,并将良好的C/C编码体验、方便的访问华为云资源、简单的引用华为云服务于一身。实现C/C开发者在个人研发作…

免费百度SEO优化工具,百度SEO优化排名工具

百度SEO关键词工具 让我们聚焦在百度SEO关键词工具上。对于任何想要在百度搜索引擎中脱颖而出的网站管理员而言,深入了解用户搜索习惯和关键词的选择是至关重要的。 百度SEO关键词工具不仅提供了免费的服务,而且功能强大。通过输入相关领域的关键词&…

python中的进制转换和原码,反码,补码

python中的进制转换和原码,反码,补码 计算机文件大小单位 b bit 位(比特) B Byte 字节 1Byte 8 bit #一个字节等于8位 可以简写成 1B 8b 1KB 1024B 1MB 1024KB 1GB 1024MB 1TB 1024GB 1PB 1024TB 1EB 1024PB 进制分类 二进制:由2个数字组成,有0 和 1 pyth…
最新文章