HDFS的概念及shell操作

news2024/9/22 7:21:48

HDFS 产出背景及定义

产生背景

        随着数据量越来越大,在一个操作系统存不下所有的数据,那么就分配到更多的操作系

统管理的磁盘中,但是不方便管理和维护,迫切需要一种系统来管理多台机器上的文件,这

就是分布式文件管理系统。HDFS 只是分布式文件管理系统中的一种。

定义

        HDFS(Hadoop Distributed File System),它是一个文件系统,用于存储文件,通过目
录树来定位文件;其次,它是分布式的,由很多服务器联合起来实现其功能,集群中的服务
器有各自的角色。

HDFS组成架构

1.NameNode

就是Master,它 是一个主管、管理者。

作用:

(1)管理HDFS的名称空间;

(2)配置副本策略;

(3)管理数据块(Block)映射信息;

(4)处理客户端读写请求。

2.DataNode

就是Slave。NameNode 下达命令,DataNode执行实际的操作。

(1)存储实际的数据块;

(2)执行数据块的读/写操作。

3.Client

就是客户端。

(1)文件切分。文件上传HDFS的时候,Client将文件切分成一个一个的Block,然后进行上传;

(2)与NameNode交互,获取文件的位置信息;

(3)与DataNode交互,读取或者写入数据;

(4)Client提供一些命令来管理HDFS,比如NameNode格式化;

(5)Client可以通过一些命令来访问HDFS,比如对HDFS增删查改操作;

4.Secondary NameNode

并非NameNode的热备。当NameNode挂掉的时候,它并不 能马上替换NameNode并提供服务。

(1)辅助NameNode,分担其工作量,比如定期合并Fsimage和Edits,并推送给NameNode ; (2)在紧急情况下,可辅助恢复NameNode。

HDFS 文件块大小

HDFS中的文件在物理上是分块存储(Block),块的大小可以通过配置参数 ( dfs.blocksize)来规定,默认大小在Hadoop2.x/3.x版本中是128M,1.x版本中是64M。

如果块设置的太大,从磁盘传输数据的时间会明显大于定位这个块开 始位置所需的时间。导致程序在处理这块数据时,会非常慢。

HDFS 的 Shell 操作

基本语法

hdfs dfs 具体命令 或者  hadoop fs 具体命令 
两者效果完全相同

准备工作

1、首先将hadoop集群启动

start-dfs.sh
start-yarn.sh

2、查看命令详细解释

hdfs dfs -help rm

翻译:

 -rm [-f] [-r|-R] [-skipTrash] [-safely] <src> ... :
  删除与指定文件模式匹配的所有文件。相当于Unix
  命令 “rm<src>”
                                                                                 
-f 如果该文件不存在,则不显示诊断消息或
              修改退出状态以反映错误。                       
  -[rR] 递归删除目录。                                  
  -跳过废纸篓选项会绕过废纸篓(如果启用),并立即删除<src>。 
  - 安全选项需要安全确认,如果启用,需要         
              删除超过的大目录前的确认       
              <hadoop.shell.delete.limit.num.files> 文件。预计在以下情况下会出现延迟
              递归地遍历大目录以计算   
              确认前要删除的文件。  

3、创建文件夹

在hdfs中创建一个名为HelloHadoop的文件夹

 hadoop fs -mkdir /HelloHadoop

 创建完毕我们可以在web界面中看到该文件夹

 上传命令

1、-moveFromLocal:从本地剪切粘贴到 HDFS

先在hadoop中新建一个hdfs1.txt的文件并在里面写入helloHdfs

vim hdfs1.txt

执行命令将该文件剪切到HDFS的HelloHadoop文件夹中

hdfs dfs -moveFromLocal ./hdfs1.txt /HelloHadoop

 在web界面中查看该文件

 

2、-copyFromLocal:从本地文件系统中拷贝文件到 HDFS 路径去

在hadoop中创建hdfs2.txt文件并在里面输入helloHDFS

vim hdfs2.txt

 执行命令将该文件复制到HDFS的HelloHadoop文件夹中

hdfs dfs -copyFromLocal ./hdfs2.txt /HelloHadoop

  在web界面中查看该文件

 

3、-put:等同于 copyFromLocal,生产环境更习惯用 put

在hadoop中创建hdfs3.txt文件并在里面输入helloDFS

vim hdfs3.txt

  执行命令将该文件复制到HDFS的HelloHadoop文件夹中

hdfs dfs -put ./hdfs3.txt /HelloHadoop

 

 在web界面中查看该文件

4、 -appendToFile:追加一个文件到已经存在的文件末尾

在hadoop中创建hdfs4.txt文件并在里面输入abc

vim hdfs4.txt

执行命令将该文件中的内容追加到HDFS的HelloHadoop文件夹中的hdfs1.txt中

 hdfs dfs -appendToFile ./hdfs4.txt /HelloHadoop/hdfs1.txt

 使用查看命令查看追加到hdfs1.txt中的内容

 hdfs dfs -cat /HelloHadoop/hdfs1.txt

 我们可以看到hdfs4.txt中的内容abc已经追加到了hdfs1.txt中

下载命令

1、-copyToLocal:从 HDFS 拷贝到本地

执行命令将HelloHadoop文件夹下的hdfs1.txt文件复制到本地的home文件夹中

hdfs dfs -copyToLocal /HelloHadoop/hdfs1.txt /home

 进到home目录中查看文件拷贝成功

 

2.-get:等同于 copyToLocal,生产环境更习惯用 get

执行命令将HelloHadoop文件夹下的hdfs2.txt文件复制到本地的home文件夹中

 hdfs dfs -get /HelloHadoop/hdfs2.txt /home

  进到home目录中查看文件拷贝成功

 

系统操作命令

1、-ls: 显示目录信息

执行命令查看目录信息

 hdfs dfs -ls /HelloHadoop

 

2、-cat:显示文件内容

执行命令查看HelloHadoop文件夹中hdfs1.txt文件中的内容

 hdfs dfs -cat /HelloHadoop/hdfs1.txt

3、-chgrp、-chmod、-chown:Linux 文件系统中的用法一样,修改文件所属权限 

hdfs dfs -chmod 666 /HelloHadoop/hdfs1.txt

4、-mkdir:创建路径

在HDFS中创建一个名为hhh的目录

hdfs dfs -mkdir /hhh

5、-cp:从 HDFS 的一个路径拷贝到 HDFS 的另一个路径 

 执行命令将HelloHadoop目录中的hdfs1.txt文件拷贝到hhh目录中

hdfs dfs -cp /HelloHadoop/hdfs1.txt /hhh

查看hhh目录 拷贝成功

 

6、-mv:在 HDFS 目录中移动文件

 执行命令将HelloHadoop目录中的hdfs2.txt文件移动到hhh目录中

hdfs dfs -mv /HelloHadoop/hdfs2.txt /hhh

7、-tail:显示一个文件的末尾 1kb 的数据

执行命令查看HelloHadoop目录中的hdfs1.txt文件末尾1kb大小的内容

 hdfs dfs -tail /HelloHadoop/hdfs1.txt

 

8、-rm:删除文件或文件夹、

执行命令删除HelloHadoop目录中的hdfs2.txt文件

hdfs dfs -rm /HelloHadoop/hdfs2.txt

9、-rm -r:递归删除目录及目录里面内容

执行命令遍历删除HelloHadoop目录中的所有文件

hdfs dfs -rm -r /HelloHadoop

10、-du: 统计文件夹的大小信息

11、-setrep:设置 HDFS 中文件的副本数量

执行命令更改HelloHadoop目录中的hdfs1.txt文件的副本数量

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

虚拟机共享物理机网路的NAT连接方法

NAT模式指借助虚拟NAT设备和虚拟DHCP服务器&#xff0c;使得虚拟机可以联网。电脑连接wifi&#xff0c;让笔记本虚拟机也能够上网&#xff0c;其配置方法如下&#xff1a; 1、打开VMware Workstation软件&#xff0c;点击编辑虚拟机设置&#xff0c;进入到配置虚拟机参数菜单。…

加密技术和二维码

1、对称加密&#xff1a;单密钥加密。一个密钥可以用来加密也可以用来解密 —- AES 2、非对称加密&#xff1a;有两把密码&#xff0c;公钥(用于加密)&#xff0c;私钥(用于解密) 3、摘要算法&#xff1a;把任意长度的输入&#xff0c;根据算法生成一串固定长度的伪随机数 —…

【安全扫描处理问题心得】

安全扫描处理问题心得 在安全扫描中处理了一些问题&#xff0c;现在来总结一下 1.mysql漏洞&#xff08;CVE-2022-21595 CVE-2022-21617 CVE-2022-21608 CVE-2022-2097 CVE-2022-21592 CVE-2022-21589&#xff09; 解决过程 我们公司安扫文档中的 解决办法 如下&#xff1a; 目…

JAVA SCRIPT设计模式--创建型设计模式之原型模式(4)

JAVA SCRIPT设计模式是本人根据GOF的设计模式写的博客记录。使用JAVA SCRIPT语言来实现主体功能&#xff0c;所以不可能像C&#xff0c;JAVA等面向对象语言一样严谨&#xff0c;大部分程序都附上了JAVA SCRIPT代码&#xff0c;代码只是实现了设计模式的主体功能&#xff0c;不代…

Sunday 算法详解

Sunday 算法 Sunday算法是Daniel M.Sunday于1990年提出的字符串模式匹配。其核心思想是&#xff1a;在匹配过程中&#xff0c;模式串发现不匹配时&#xff0c;算法能跳过尽可能多的字符以进行下一步的匹配&#xff0c;从而提高了匹配效率。 一、匹配机制 匹配机制非常容易理…

PyTorch笔记 - 开发技巧与爱因斯坦标示法(einops)

欢迎关注我的CSDN:https://blog.csdn.net/caroline_wendy 本文地址:https://blog.csdn.net/caroline_wendy/article/details/128222398 NLP seq2seq代码编写技巧 数据 tokenization,离散符号,翻译,划分tokentoken2idx,将token变成idxadd SoS&EoS,开头和结尾添加标识…

代码随想录算法训练营第五十七天| LeetCode647. 回文子串、LeetCode516. 最长回文子序列

一、LeetCode647. 回文子串 1&#xff1a;题目描述&#xff08;647. 回文子串&#xff09; 给你一个字符串 s &#xff0c;请你统计并返回这个字符串中 回文子串 的数目。 回文字符串 是正着读和倒过来读一样的字符串。 子字符串 是字符串中的由连续字符组成的一个序列。 具有不…

Unity3d C#获取海康/大华摄像头在萤石平台直播视频流功能(含源码)

前言 实现该功能主要是因为之前硬件实施工程是给我的视频流地址总是失效&#xff0c;原因就是视频流地址其实都有一个过期时间&#xff08;类似于&#xff1a;rtmp://rtmp01open.ys7.com:/v3/openlive/_1_1?expire1669341172&id***&t8cb15956b1ca09770d1496bff3b8ccb…

电子书小程序源码

资源简介 价值8k的的电子书资料文库文集ip打造流量主小程序系统源码 个人即可搭建&#xff0c;附上此系统源码以及详细的‘’一小时的小白手把手教搭建教程‘’ 下面开始系统介绍&#xff1a; 无意中在群里刷到一个文集小程序 点击立即学习里面&#xff0c;是电子书。 点击了…

虹科分享|基于CAN/CAN FD技术的机器狗是什么样的?

机器狗是一种结合了仿生学和人工智能的仿生四足机器人&#xff0c;其外形与四足动物相似&#xff0c;由于其运动摆脱了轮式和履带式的设计&#xff0c;机器狗的机动性更为强大&#xff0c;能够灵活地完成多种复杂的运动&#xff0c;并能够在不同的地理环境中自主行走&#xff0…

oracle 定时任务删除数据

这几天在工作中遇到一个问题就是&#xff1a;要删除表在备份表中已存在的数据&#xff08;2000多万数据&#xff09;&#xff0c;这个数据是SQL查出来的&#xff0c;例如&#xff1a; select count(1) from JY_SALE_FULLORDER_DTL where LINE_NUM in (select b.LINE_NUMfrom JY…

osgEarth示例分析——osgearth_splat

前言 osgearth_splat示例&#xff0c;展示如何加载图片贴在地球上&#xff0c;且通过分类&#xff0c;贴文理绘制森林、草地等。 执行命令&#xff1a;osgearth_splatd.exe 效果 整个地球的影像&#xff0c;加载的一张贴图。黑白点点&#xff0c;是不同的贴图。当拉进放大后…

云计算与传统计算的区别有哪些?

目前&#xff0c;许多企业依赖传统计算&#xff0c;而一些企业也正在迁移到云计算。原因是两者都有各自的优势点&#xff0c;这就是为什么对企业来说&#xff0c;在两者之间进行选择可能会变得有点困难。 什么是传统计算? 传统计算的概念是不言而喻的。传统上&#xff0c;物理…

[附源码]Python计算机毕业设计Django兴达五金日杂批发商店管理系统

项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等等。 环境需要 1.运行环境&#xff1a;最好是python3.7.7&#xff0c;…

微服务框架 SpringCloud微服务架构 21 RestClient 操作文档 21.5 批量导入文档

微服务框架 【SpringCloudRabbitMQDockerRedis搜索分布式&#xff0c;系统详解springcloud微服务技术栈课程|黑马程序员Java微服务】 SpringCloud微服务架构 文章目录微服务框架SpringCloud微服务架构21 RestClient 操作文档21.5 批量导入文档21.5.1 批量导入文档21 RestClie…

【Java面试】说一说JDK1.6之后对synchronized的优化

文章目录为什么synchronized性能低下&#xff1f;JDK1.6对synchronized的优化偏向锁(无锁状态)轻量级锁(自旋)重量级锁(阻塞)这些锁的优缺点早期JDK对synchronized的实现是重量级的&#xff0c;每一次的获取锁都需要请求OS。 而在大部分情况下&#xff0c;同步方法是运行在单线…

若依权限校验源码分析

若依的权限校验实现原理就是AOP自定义注解&#xff0c;代码并不多&#xff0c;debug跟一遍之后很容易理解&#xff0c;详细流程整理如下 用到的类 注解类RequiresLogin、RequiresPermissions、RequiresRoles&#xff0c;分别用于登录认证、权限认证和角色认证切面类PreAuthor…

极米H5评测:极米H5投影仪参数如何?极米H5值得入手吗?

作为家用智能投影领域的佼佼者&#xff0c;极米在上个月结束的双11活动中&#xff0c;实现了全网成交总额破8亿&#xff0c;并获得天猫、京东和抖音投影品类销量和GMV双第一的成绩&#xff0c;同时这也是极米连续第九次成为投影品类冠军。能够实现如此优秀的成绩&#xff0c;也…

JS逆向之webpack 通用扣取思路

本文所有教程及源码、软件仅为技术研究。不涉及计算机信息系统功能的删除、修改、增加、干扰,更不会影响计算机信息系统的正常运行。不得将代码用于非法用途,如侵立删!标题 环境 win10chrome106目标站:aHR0cHM6Ly93d3cuZ205OS5jb20v 加密参数 password: K6YEmQrNy%2FQgdnac…

安卓玩机搞机技巧综合资源------EROFS分区格式 小米红米机型分区类型 刷写recovery方法列举【三】

接上篇 安卓玩机搞机技巧综合资源------如何提取手机分区 小米机型代码分享等等 【一】 安卓玩机搞机技巧综合资源------开机英文提示解决dm-verity corruption your device is corrupt. 设备内部报错 AB分区等等【二】 &#x1f49d;&#x1f49d;&#x1f49d;&#x1f49d…