Hadoop大数据入门到实战(第四节) - HDFS文件系统(使用)

2023-05-16

这一小节我们来学习:1.HDFS的设计,2.HDFS常用命令。

HDFS的设计
分布式文件系统

客户:帮我保存一下这几天的数据。

程序猿:好嘞,有多大呢?

客户:1T。

程序猿:好没问题,买个硬盘就搞定了。

一个月后…

客户:帮我保存下这几个月的数据。

程序猿:好嘞,这次有多大呢?

客户:1024T。

哇,这么大吗?没有这么大的硬盘买呀,而且好像也没听过一台计算机可以存放1024T的数据。

程序猿:哦,对了我可以部署1024台机器,然后将他们连接起来,让他们的数据可以共享,这不就可以了吗?hh,机智如我。

当数据集的大小超过一台独立的物理计算机的存储能力时,就有必要对它进行分区并存储到若干台单独的计算机上,管理网络中跨多台计算机存储的文件系统称为分布式文件系统(Distributed FileSystem)。

Hadoop自带一个称为HDFS的分布式文件系统,即 HDFS(Hadoop Distributed FileSystem)。有时也称之为DFS,他们是一回事儿,

NameNode与DataNode

HDFS的构建思路是这样的:一次写入多次读取不可修改,这也是最高效的访问模式。

客户:你把1024台机器都组成了分布式文件系统,我要查数据,下载数据该怎么做呢?

程序猿:我准备了一套专门管理这些数据的工具,叫做namenode,您要查数据直接访问它就可以啦。

HDFS有两类节点用来管理集群的数据,即一个namenode(管理节点)和多个datanode(工作节点)。namenode管理文件系统的命名空间,它维护着系统数及整棵树内所有的文件和目录,这些信息以两个形式永久保存在本地磁盘上:命名空间镜像文件和编辑日志文件,namenode也记录着每个文件中各个块所在的数据节点信息,但它并不永久保存块的位置信息,因为这些信息会在系统启动时根据节点信息重建。

客户端(client)代表用户通过与namenode和datanode交互来访问整个系统。客户端提供一个类似POSIX(可移植操作系统界面)的文件系统结构,因此用户编程时无需知道namenode和datanode也可以实现功能。

datanode是文件系统的工作节点,他们根据需要存储并检索数据块(blocks),并且定期向namenode发送他们所存储的数据块的列表。

image.png

客户:听不懂,说人话!

程序猿:额,我们现在将咱们的大数据机房设想成一个大仓库,仓库很大,有一本账单记录着仓库所有货架的商品,每一个货架上都放了很多货物,不过这些货物有一个特点,即大小都一致,并且货架也有一个本货架的清单,记录着本货架的商品,每当货架中的货物有变动,这个清单也会一起变,并且还会记录在主清单中。
在这里,namenode就类似仓库的主账单(保存了所有货物的记录),datanode就像是货架的清单(保存了本货架的物品记录),每个货架上的每一个货物就是数据块,数据块的大小是固定的(默认是128M)。

image.png

HDFS的常用命令

接下来我们来了解一下一些常用的文件系统操作,例如:读取文件,新建目录,移动文件,删除数据,列出目录,等等。你可以在命令行中输入hadoop fs -help命令读取每个命令的详细帮助文件。

现在请跟着我一起,在Linux环境下对Hadoop进行文件系统操作,来体验一下Hadoop的使用。

新建目录:

在本地和hadoop中分别创建文件夹:

本地创建目录:

image.png

hadoop创建目录:

image.png

上传文件至dfs:

切换到本地input目录下,创建文件并添加数据:hello hadoop

image.png

将该文件上传至hadoop:使用hadoop fs -put <要上传的文件> <hdfs目录>命令

image.png

查看上传到HDFS的文件:

image.png

移动与删除

列出HDFS中的目录和文件:

image.png

image.png

helloworld.txt移动到根目录;

image.png

删除helloworld.txt

image.png

hadoop fs -rm 命令只能删除文件或者空文件夹,如果要用这个命令去删除非空文件夹就会非常麻烦。

和Linux中递归删除一致,我们在-rm之后加入一个-r即可,用-rmr也可。

下表列出了Hadoop常用的shell命令,在之后使用的时候可以作为参考。

选项名称使用格式含义
-ls-ls <路径>查看指定路径的当前目录结构
-lsr-lsr <路径>递归查看指定路径的目录结构
-du-du <路径>统计目录下个文件大小
-dus-dus <路径>汇总统计目录下文件(夹)大小
-count-count [-q] <路径>统计文件(夹)数量
-mv-mv <源路径> <目的路径>移动
-cp-cp <源路径> <目的路径>复制
-rm-rm [-skipTrash] <路径>删除文件/空白文件夹
-rmr-rmr [-skipTrash] <路径>递归删除
-put-put <多个 linux 上的文件> 上传文件
-copyFromLocal-copyFromLocal <多个 linux 上的文件>从本地复制
-moveFromLocal-moveFromLocal <多个 linux 上的文件>从本地移动
-getmerge-getmerge <源路径> 合并到本地
-cat-cat 查看文件内容
-text-text 查看文件内容
-copyToLocal-copyToLocal [-ignoreCrc] [-crc] [hdfs 源路径] [linux 目的路径]从HDFS复制到本地
-moveToLocal-moveToLocal [-crc] 从HDFS移动到本地
-mkdir-mkdir 创建空白文件夹
-setrep-setrep [-R] [-w] <副本数> <路径>修改副本数量
-touchz-touchz <文件路径>创建空白文件

学以致用

在命令行中启动Hadoop,进行如下操作。
- 在HDFS中创建/usr/output/文件夹;
- 在本地创建hello.txt文件并添加内容:“HDFS的块比磁盘的块大,其目的是为了最小化寻址开销。”;
- 将hello.txt上传至HDFS的/usr/output/目录下;
- 删除HDFS的/user/hadoop目录;
- 将Hadoop上的文件hello.txt从HDFS复制到本地/usr/local目录。


未完待续…

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Hadoop大数据入门到实战(第四节) - HDFS文件系统(使用) 的相关文章

  • 哈佛大学提出变分注意力:用VAE重建注意力机制

    注意力 attention 模型在神经网络中被广泛应用 xff0c 不过注意力机制一般是决定性的而非随机变量 来自哈佛大学的研究人员提出了将注意力建模成隐变量 xff0c 应用变分自编码器 xff08 Variational Auto En
  • 助力自动驾驶商业化 高德公布高精地图技术路线图

    在以 驶向未来 为主题的汽车专场论坛上 xff0c 高德地图首次对外界展示了基于高精地图和高精定位的一体化解决方案的实际定位效果 xff0c 并宣布了未来高德在高精地图技术上的发展路线图 助力自动驾驶商业化 高德公布高精地图技术路线图 7
  • 消息队列技术点梳理(思维导图版)

    消息队列作为服务 应用之间的通信中间件 xff0c 可以起到业务耦合 广播消息 保证最终一致性以及错峰流控 xff08 克服短板瓶颈 xff09 等作用 本文不打算详细深入讲解消息队列 xff0c 而是体系化的梳理消息队列可能涉及的技术点
  • (1)XTDrone环境配置笔记——从安装VMware开始

    本笔记主要参考文章 xff1a https www yuque com xtdrone manual cn basic config 2qN28 自己整理 xff0c 从个人笔记中移植过来 xff0c 如有问题 xff0c 欢迎讨论 目录
  • 编译android7.1源码环境的配置以及中途可能出现问题的总结

    在项目要求将apk文件打包到安卓系统7 1出了一大堆问题 xff0c 由于我是windows10系统 xff0c 所以在电脑上装了个virtualbox虚拟机 xff0c 并且装上了ubuntu 18 04 2 接下来就是在这个虚拟机系统上
  • Ubuntu 创建开机自启动脚本

    由于在ubuntu上面跑了很多服务 xff0c 每次开机都需要自己手动去启动服务太麻烦 下面记录一下开机自启动脚本的编写 xff0c 以便往后查阅 1 适用系统Ubuntu18 ubuntu20 2 切换到etc目录 cd etc 3 创建
  • 关于合法的出栈顺序

    可以按照下面的方法来判断的 xff1a 假如入栈顺序为1234 xff0c 给定一个出栈序列 xff0c 如2431 xff0c 它是合法的 因为对于出栈序列中的每一个数字 xff0c 在它后面的 比它小的所有数字 xff0c 一定是按递减
  • 增量测试:自顶向下测试&自底向上测试

    本博客主要内容 xff1a 自顶向下测试和自底向上测试的优缺点 xff1b 软件开发周期流程 xff1b 不同的测试方法针对不同的测试阶段 一 自顶向下测试 xff1a 优点 xff1a 1 如果主要的缺陷发生在程序的顶层将非常有利 2 一
  • 局域网 Ubuntu 16.04.4 安装 Docker 18.06.0-ce 笔记

    局域网内搭建Ubuntu环境下的Docker Engine 17 06 0 43 Docker Compose 1 14 0 43 的环境运行项目 网上查找到很多方法 xff0c 但是安装总有报错 解决报错办法 xff1a 一 下载了doc
  • oracle监听器日志过大-处理办法

    原则是lsnrctl status xff0c 找到日志文件位置 xff0c 就是给你看的那些信息中的log file xff0c 删除即可 但是监听器在运行状态下 xff0c 无法删除 办法1 xff1a 将监听器stop xff0c 然
  • 网络——IPV4地址(二)

    划分子网的IPv4地址 在IP地址中增加一个 子网号字段 xff0c 使得两级IP地址变成三级IP地址 这种做法称为子网划分 三级IP地址结构如下 xff1a IP地址 61 lt 网络号 gt lt 子网号 gt lt 主机号 gt 子网
  • 创建一个基于WebPacket的TypeScript项目【一】

    创建一个基于WebPacket的TypeScript项目 安装node js环境建立目录结构在 96 templates 96 目录新建 96 template index html 96 并写入 安装VSCode创建一个NPM项目确认 安
  • 记一次grpc arm-hisiv400-linux交叉编译

    时间紧 xff0c 先大概说明一下 xff0c 有时间了再补充详细的说明 grpc 交叉编译 需要先编译出pc版的protobuff 和 grpc xff0c 安装到指定的路径 xff0c 在做交叉编译时需要protoc 和grpc cpp
  • SDN协议与SD-WAN中使用的协议相比有何差别?

    通过建立在物理网络上方抽象的虚拟网络 xff0c 软件定义的网络可实现更灵活的网络管理和操作 代替在硬件级别编程的物理网络设备来驱动网络控制 xff0c 软件定义网络 SDN 引入了一个软件驱动的控制器来处理这些任务并使变更能够实时进行 x
  • SDN和SD-WAN的概念别再搞混了—Vecloud微云

    最近 xff0c SD WAN在融资领域是一个比较热的话题 国外几家SD WAN的头部企业不断地获得融资 xff0c 也包括被思科 VMware等巨头收购和兼并 xff0c 国内创业公司推出了各种SD WAN产品和解决方案 不得不说 xff
  • SDN和SD-WAN有本质区别—Vecloud微云

    作为软件定义网络 xff08 SDN xff09 技术中的一个细分 xff0c 软件定义广域网 xff08 SD WAN xff09 无疑是从2015年到现在企业级广域网布局中最热门的技术之一 SDN SDN旨在支持局域网 xff08 LA
  • 企业MPLS专线的价格及计费方式——微云专线

    企业MPLS专线的费用 MPLS最大技术特色为可以指定资料包传送的先后顺序 xff0c 提供优质增值服务 xff0c 如 xff1a 差别服务 Diff serv 服务级别 CoS 和服务质量 QoS 等 因为MPLS整合了第三层路由和第二
  • 网络专线MPLS配置原理

    MPLS最早的意思是让中间设备只是查找一个表 xff0c 这样就可以相对更快地工作 xff0c 随着CPU运算能力的不断提高 xff0c 包的交换方式从原始到传统 一次路由多次交换 xff0c 最后再到快速的CEF数据交换方式 xff0c
  • 什么是BGP,BGP的优点有哪些?-Vecloud

    什么是BGP 边界网关协议 BGP 是运行于 TCP 上的一种自治系统 AS 的路由协议 xff0c 是唯一能够妥善处理不相关路由域间的多路连接的协议 通俗点讲 中国电信 中国联通 中国移动和一些拥有AS自治域的大型民营IDC运营商就可以通
  • 从linux接入到windows远程桌面

    Windows 提供了一种远程桌面系统 xff0c 可使用户远程登录进行系统管理或作为终端服务器运行各种应用软件 要连接Windows远程桌面 xff0c 需在Windows客户端安装 相应的软件 xff08 tsclient xff09

随机推荐

  • ssh命令使用总结

    前言 为了安全起见 xff0c 公司服务器只给开放了一个ssh端口其他服务器通过跳板机登录 xff0c 这样难免会造成一些不便 xff0c 但是ssh总体还比较强大 xff0c 可以通过配置 xff0c 方便容易的进行登录 也可以通过端口转
  • **matlab subs函数**

    matlab subs函数 matlab中subs 是符号计算函数 xff0c 表示将符号表达式中的某些符号变量替换为指定的新的变量 xff0c 常用调用方式为 xff1a subs S OLD NEW 表示将符号表达式S中的符号变量OLD
  • Python爬虫库推荐,建议收藏留用

    很多人学Python xff0c 都是从爬虫开始的 xff0c 毕竟网上类似的资源很丰富 xff0c 开源项目也非常多 Python学习网络爬虫主要分3个大的版块 xff1a 抓取 xff0c 分析 xff0c 存储 当我们在浏览器中输入一
  • 【深度学习】:Faster RCNN论文详解

    Faster RCNN详解 Faster RCNN 是在Fast RCNN的基础上 xff0c 进一步改进 xff0c 解决select search 算法选择候选框速度太慢的问题 Faster R CNN Towards Real Tim
  • 优化命令之taskset——查询或设置进程绑定CPU

    目录 一 xff1a taskset概述 二 xff1a 安装taskset工具 2 1taskset语法 2 2taskset用法 2 2 1指定PID为8528的进程在CPU1上运行 2 2 2更改具体某一进程 xff08 或 线程 x
  • Kubernetes:(十八)flannel网络

    目录 一 xff1a 什么是Flannel 1 1 Flannel实现原理 1 2 数据转发流程 二 xff1a Flannel网络概述 2 1 Vxlan 模式 2 1 1 通信流程 2 1 2 部署 2 1 3 相关配置 2 1 4 卸
  • 串口调试工具 O-ComTool V1.1.3

    新版本 O ComTool V2 0 0点击访问 写在之前 由于本人从事嵌入式工作 xff08 物联网方向 xff09 xff0c 经常需要和串口打交道 xff0c 面对各种规约 协议 xff0c 调试实在麻烦 xff0c 于是本人根据同事
  • 关于VSCODE的插件 一

    官方API文档 1 要学好TypeScript 官方教程 1 1TypeScript是一门弱类型语言 强类型和弱类型主要是站在变量类型处理的角度进行分类的 这些概念未经过严格定义 xff0c 它们并不是属于语言本身固有的属性 xff0c 而
  • Keil_debug

    提示 xff1a 文章写完后 xff0c 目录可以自动生成 xff0c 如何生成可参考右边的帮助文档 目录 前言 一 使用步骤 1 引入库 2 读入数据 总结 前言 程序员的工作中调试 debug xff0c 修bug xff0c 改bug
  • 前端基础知识梳理——html中的长度单位与颜色RGB值

    前言 我们在编写前端业务的时候很定会使用到长度单位 xff0c 这对于我们构建前端元素 xff0c 布局 xff0c 定位是很重要的 就像我们在盖房子的时候 xff0c 需要使用标尺线精确的测量 xff0c 也要使用颜色用于装饰页面 在ht
  • 【Hadoop】熟悉常用的HBase操作(Java实现)

    一 实验平台 操作系统 xff1a Linux deepin Hadoop版本 xff1a 2 7 7 HBase版本 xff1a 1 2 6 Java IDE xff1a Eclipse 二 实验内容 1 使用 Hadoop提供的Java
  • Hadoop权威指南:知识梳理(一)

    第一章 xff1a 初识Hadoop MapReduce三大设计目标 xff1a 为只需要短短几分钟或几个小时就可以完成的作业提供服务运行于同一个内部有高速网络连接的数据中心内数据中心内的计算器都是可靠的 专门的硬件 提供Hadoop支持的
  • tasksel —– ubuntu里面方便安装服务的软件

    用这个软件可以方便安装dns server lamp kubuntu desktop ubuntu desktop xubuntu之类的软件包 这个软件在ubuntu server里是预装的 xff0c 而在桌面版里是不预装的 xff0c
  • 信号量能被 FixedThreadPool 替代吗?

    Semaphore 信号量 从图中可以看出 xff0c 信号量的一个最主要的作用就是 xff0c 来控制那些需要限制并发访问量的资源 具体来讲 xff0c 信号量会维护 许可证 的计数 xff0c 而线程去访问共享资源前 xff0c 必须先
  • 带参数的宏定义(宏函数)

    宏函数没有普通函数压栈 跳转 返回等的开销 xff0c 可以提高程序的效率 宏的名字中不能有空格 xff1b 用括号括住每一个参数 xff0c 并括住宏的整体定义 xff1b 用大写字母表示宏的函数名 define SUM xff08 a
  • OVN&OVS代码下载、编译安装以及运行步骤

    1 代码下载 新建代码目录 home code 下载ovs代码 xff1a git clone b branch 2 15 https github com openvswitch ovs git 下载ovn代码 xff1a git clo
  • CMMI过程改进反例

    xfeff xfeff 最近一直在看 CMMI 的资料 xff0c 越看觉得越有意思 xff0c 今天看到过程改进的时候 xff0c 突然想起来之前所在的公司发生的过程改进相关的事儿来 公司通过 CMMI3 级认证之后 xff0c PMO
  • hadoop 超详细入门wordcount

    概述 今天博客收到了第一条评论 xff0c 感觉很赞哦 xff0c 最近一直在学习hadoop xff0c 主要是结合 实战Hadop xff1a 开启通向云计算的捷径 刘鹏 xff0c 然后apache官网的doc xff08 还是要以官
  • NOIP2018集训总结

    由于语文水平有限 xff0c 精美的桥段 xff0c 跌宕起伏的情节是不可能的了 xff0c 也许看起来会很智障 初赛 前排沙发祝贺墙根火 这次初赛主要在 读程序填空 上失分较多 先找几个不是原因的原因 xff1a 考前那晚宿舍里人巨吵考前
  • Hadoop大数据入门到实战(第四节) - HDFS文件系统(使用)

    这一小节我们来学习 xff1a 1 HDFS的设计 xff0c 2 HDFS常用命令 HDFS的设计 分布式文件系统 客户 xff1a 帮我保存一下这几天的数据 程序猿 xff1a 好嘞 xff0c 有多大呢 xff1f 客户 xff1a