四、hdfs文件系统基础操作-保姆级教程

1、启动Hadoop集群

        想要使用hdfs文件系统,就先要启动Hadoop集群。

启动集群:
start-dfs.sh
关闭集群:
stop-dfs.sh

2、文件系统构成

(1)基础介绍        

其实hdfs作为分布式存储的文件系统,其构成和Linux文件系统构成差不多一样,均是以“/”作为根目录的组织形式。

(2)区分路径

        在以Hadoop用户作为Linux本地用户使用hdfs文件系统时,因为两者的命令结构十分相似,这里我们该如何区分呢?

3、hdfs命令体系

4、hdfs文件系统基础操作

(1)前言

        在学习hdfs文件系统基础操作之后,你会发现hdfs文件系统的操作和Linux文件系统的操作十分相似,两者之间为数不多的区别就是hdfs文件系统在使用命令名时,需要在命令名前加上“-”。

(2)创建文件夹

(3)查看指定目录内容

·基础命令格式

·实际操作基础演示

hadoop@node1:~$ hadoop fs -ls /
Found 1 items
drwxr-xr-x   - hadoop supergroup          0 2023-11-16 23:34 /home
hadoop@node1:~$ hdfs dfs -ls /
Found 1 items
drwxr-xr-x   - hadoop supergroup          0 2023-11-16 23:34 /home

·-R选项演示

【解释】:-R选项会将当前目录下的所有文件关系罗列出来,就像二叉树的遍历一样。

hadoop@node1:~$ hdfs dfs -ls -R /
drwxr-xr-x   - hadoop supergroup          0 2023-11-18 10:27 /home
drwxr-xr-x   - hadoop supergroup          0 2023-11-18 10:27 /home/code1
drwxr-xr-x   - hadoop supergroup          0 2023-11-18 10:27 /home/code1/thing
drwxr-xr-x   - hadoop supergroup          0 2023-11-18 10:27 /home/code2
drwxr-xr-x   - hadoop supergroup          0 2023-11-18 10:27 /home/code3

(4)上传文件

·基础格式

·路径:

Linux——>hdfs

·实际操作演示

【解释】:这里将本地Hadoop用户根目录下的text.txt文件,上传到hdfs文件系统根目录下。

hadoop@node1:~$ ls
text.txt
hadoop@node1:~$ hdfs dfs -put file:///home/hadoop/text.txt hdfs://node1:8020/
hadoop@node1:~$ hdfs dfs -ls /
Found 2 items
drwxr-xr-x   - hadoop supergroup          0 2023-11-18 10:27 /home
-rw-r--r--   3 hadoop supergroup         22 2023-11-18 10:38 /text.txt

(5)查看文件内容

·基础格式

·实际操作演示

【解释】:这里查看hdfs文件系统根目录下text.txt的文件内容

hadoop@node1:~$ hdfs dfs -cat hdfs://node1:8020/text.txt
yanghaitao
hahaha
666

·管道符and“more”的使用

        但是对于hadoop来说,通常都是处理几十个G的大数据,这里我们可以借助管道符more进行操作查看。more:Linux中,文件内容进行翻页的命令:

hadoop@node1:~$ hdfs dfs -cat hdfs://node1:8020/code.txt
不写协议头
上传文件
从Linux文件系统——>hdfs文件系统
yanghaitao
hahaha
666
yanghaitao
hahaha
666
yanghaitao
hahaha
666
yanghaitao
hahaha
666
yanghaitao
hahaha
666
yanghaitao
hahaha
666
yanghaitao
hahaha
666
[more]……

(6)下载内容

·路径

hdfs——>Linux

·基础格式

·实际操作演示

在hadoop本地创建一个文件夹mkdir YHT,将从hdfs下载的文件存储到该文件夹中。

hadoop@node1:~$ hdfs dfs -get hdfs://node1:8020/text.txt ./YHT
hadoop@node1:~$ cd YHT
hadoop@node1:~/YHT$ ls
text.txt

(7)拷贝文件

·路径

hdfs——>hdfs

·基础格式

·实际操作演示

【解释】:为了方便,这里我们删除hdfs://node1:8020/home目录下的所有文件,然后将hdfs根目录下code.txt的文件复制到hdfs根目录下的home目录内:

hadoop@node1:~$ hdfs dfs -cp hdfs://node1:8020/code.txt hdfs://node1:8020/home
hadoop@node1:~$ hdfs dfs -ls hdfs://node1:8020/home
Found 1 items
-rw-r--r--   3 hadoop supergroup        667 2023-11-18 11:17 hdfs://node1:8020/home/code.txt

还有,我们在复制的同时,实现文件的重命名工作:

【操作解释】:此处将hdfs://node1:8020/text.txt复制到hdfs://node1:8020/home/new.txt,并将文件名改为new.txt
hadoop@node1:~$ hdfs dfs -cp hdfs://node1:8020/text.txt hdfs://node1:8020/home/new.txt
hadoop@node1:~$ hdfs dfs -ls hdfs://node1:8020/home
Found 2 items
-rw-r--r--   3 hadoop supergroup        667 2023-11-18 11:17 hdfs://node1:8020/home/code.txt
-rw-r--r--   3 hadoop supergroup         22 2023-11-18 11:22 hdfs://node1:8020/home/new.txt

·注意

        整个hdfs文件系统,文件的修改只支持两种,那就是删除和追加。

(8)追加数据

·路径

Linux——>hdfs

·基础格式

· 实际操作演示

        在这里,我们将Hadoop用户根目录下的append.txt文件,追加到hdfs文件系统的根目录下text.txt的文件中。

hadoop@node1:~$ hdfs dfs -cat hdfs://node1:8020/text.txt
yanghaitao
hahaha
666
hadoop@node1:~$ cat append.txt
I'm append things.
from hadoop to hdfs://node1:8020/text.txt
hadoop@node1:~$ hdfs dfs -appendToFile append.txt hdfs://node1:8020/text.txt
hadoop@node1:~$ hdfs dfs -cat hdfs://node1:8020/text.txt
yanghaitao
hahaha
666
I'm append things.
from hadoop to hdfs://node1:8020/text.txt

(9)移动文件数据

·路径

hdfs——>hdfs

·基础格式

·实际操作演示

hadoop@node1:~$ hdfs dfs -ls hdfs://node1:8020/
Found 2 items
drwxr-xr-x   - hadoop supergroup          0 2023-11-18 11:22 hdfs://node1:8020/home
-rw-r--r--   3 hadoop supergroup         83 2023-11-18 11:33 hdfs://node1:8020/text.txt
hadoop@node1:~$ hdfs dfs -mv hdfs://node1:8020/text.txt hdfs://node1:8020/home/
hadoop@node1:~$ hdfs dfs -ls hdfs://node1:8020/home
Found 3 items
-rw-r--r--   3 hadoop supergroup        667 2023-11-18 11:17 hdfs://node1:8020/home/code.txt
-rw-r--r--   3 hadoop supergroup         22 2023-11-18 11:22 hdfs://node1:8020/home/new.txt
-rw-r--r--   3 hadoop supergroup         83 2023-11-18 11:33 hdfs://node1:8020/home/text.txt

(10)删除数据

·基础格式

·实际操作演示

【解释】:删除hdfs://node1:8020/home文件夹

hadoop@node1:~$ hdfs dfs -rm -r hdfs://node1:8020/home/
Deleted hdfs://node1:8020/home
hadoop@node1:~$ hdfs dfs -ls hdfs://node1:8020/

(11)配置回收站

·第一步:修改配置文件

vim /export/server/hadoop/etc/hadoop/core-site.xml

·第二步:修改参数

        <property><name>fs.trash.interval</name><value>1440</value></property><property><name>fs.trash.checkpoint.interval</name><value>120</value></property>

·第三步:实际操作演示

回收站地址:

hdfs://node1:8020/user/hadoop/.Trash/Current

在hdfs://node1:8020/home目录下创建名为thing.txt的文件,删除演示:

# 删除hdfs文件系统home目录下的thing.txt文件
hadoop@node1:~$ hdfs dfs -ls hdfs://node1:8020/home/
Found 1 items
-rw-r--r--   3 hadoop supergroup          0 2023-11-18 12:27 hdfs://node1:8020/home/thing.txt
hadoop@node1:~$ hdfs dfs -rm -r hdfs://node1:8020/home/thing.txt
2023-11-18 12:28:08,439 INFO fs.TrashPolicyDefault:Moved:'hdfs://node1:8020/home/thing.txt' to trash at: hdfs://node1:8020/user/hadoop/.Trash/Current/home/thing.txt# 进入回收,可以看到刚刚被删除的thing.txt文件
hadoop@node1:~$ hdfs dfs -ls hdfs://node1:8020/user/hadoop/.Trash/Current
Found 1 items
drwx------   - hadoop supergroup          0 2023-11-18 12:28  hdfs://node1:8020/user/hadoop/.Trash/Current/home

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/190512.html

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

相关文章

基于PLC的污水厌氧处理控制系统(论文+源码)

1. 系统设计 污水厌氧由进水系统通过粗格栅和清污机进行初步排除大块杂质物体以及漂浮物等&#xff0c;到达除砂池中。在除砂池系统中细格栅进一步净化污水厌氧中的细小颗粒物体&#xff0c;将污水厌氧中的细小沙粒滤除后进入氧化沟反应池。在该氧化沟系统中进行生化处理&…

从0开始学习JavaScript--JavaScript 流程控制

JavaScript中的流程控制结构是编写结构化、可读性强的代码的关键。本文将深入研究JavaScript中的流程控制&#xff0c;包括条件语句、循环结构、跳转语句等&#xff0c;并通过丰富的示例代码来更全面地了解和运用这些概念。 条件语句 条件语句用于基于不同的条件执行不同的代…

【广州华锐互动】自然灾害科普3D体验展厅:培养安全意识,共创美好未来

在人类历史的进程中&#xff0c;灾难始终是我们不可避免的挑战。地震、洪水、火灾等自然灾害无情地摧毁我们的家园&#xff0c;带走我们的亲人。然而&#xff0c;随着科技的进步&#xff0c;我们已经有了更多的手段来预防和应对这些灾难。在这个背景下&#xff0c;自然灾害科普…

嵌入式 Linux 移植与系统启动方法

1、Linux系统启动与U-Boot 所谓移植就是把程序代码从一种运行环境转移到另一种运行环境。对于内核移植来说&#xff0c;主要是从一种硬件平台转移到另一种硬件平台上运行。 体系结构级别的移植是指在不同体系结构平台上Linux内核的移植&#xff0c;例如&#xff0c;在ARM、MI…

asp.net心理健康管理系统VS开发sqlserver数据库web结构c#编程计算机网页项目

一、源码特点 asp.net 心理健康管理系统 是一套完善的web设计管理系统&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。 系统视频链接 https://www.bilibili.com/video/BV19w411H7P4/ 二、功能介绍 本系统使用Microsoft Visual Studio…

Redis篇---第六篇

系列文章目录 文章目录 系列文章目录前言一、Redis 为什么设计成单线程的?二、什么是 bigkey?会存在什么影响?三、熟悉哪些 Redis 集群模式?前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,…

【Spring】AOP进阶-JoinPoint和ProceedingJoinPoint详解

文章目录 1. 前言2. JoinPoint简介3. 获取被增强方法的相关信息4. ProceedingJoinPoint简介5. 获取环绕通知方法的相关信息6. 总结 1. 前言 在Spring AOP中&#xff0c;JoinPoint和ProceedingJoinPoint都是关键的接口&#xff0c;用于在切面中获取方法的相关信息以及控制方法的…

整形数据和浮点型数据在内存中的存储差别

愿所有美好如期而遇 我们先来看代码&#xff0c;猜猜结果是什么呢&#xff1f; int main() {//以整型数据的方式存储int n 10;float* m (float*)&n;//以整型数据的方式读取printf("%d\n", n);//以浮点型数据的方式2读取printf("%f\n", *m);printf(&…

数据库选型与优化:策略与技巧的探讨

大家好&#xff0c;我是一名狂热的数据库程序员&#xff0c;最近鼓起勇气开始吐槽一下数据库&#xff0c;如有雷同&#xff0c;请对号入座。 名不副实的数据库类型 先说说最近的事&#xff0c;我们业务有很多图片要管理&#xff0c;老板说让我选个专业的图数据库&#xff0c;…

国科大数据挖掘期末复习——聚类分析

聚类分析 将物理或抽象对象的集合分组成为由类似的对象组成的多个类的过程被称为聚类。由聚类所生 成的簇是一组数据对象的集合&#xff0c;这些对象与同一个簇中的对象彼此相似&#xff0c;与其他簇中的对象相异。 聚类属于无监督学习&#xff08;unsupervised learning&…

简朴博客系统测试报告

文章目录 一. 项目简介二. 测试概要三. 测试环境四. 测试执行概况及功能测试1. 手工测试1.1 手动测试用例编写1.2 执行的部分测试用例 2. 自动化测试Selenium2.1 编写测试用例2.2 自动化测试代码 3. 测试结果 五. 发现的问题 一. 项目简介 简朴博客系统是采用前后端分离的方式…

抖音直播间涨粉助手,其开发流程与需要的技术和代码分享

先来看实操成果&#xff0c;↑↑需要的同学可看我名字↖↖↖↖↖&#xff0c;或评论888无偿分享 一、直播间涨人气的15种方法 直播间的人气就像水池中的水&#xff0c;想要有源源不断的流量&#xff0c;就要想办法把水龙头的水流开到最大&#xff0c;也就是要增加直播间曝光率&…