HDFS简介

HDFS即Hadoop Distributed File System,是一个分布式文件系统,用于存储海量数据。一个HDFS集群由一个NameNode和多个DataNode组成。

HDFS特性

  1. 主从架构
  2. 分块存储
  3. 副本机制
  4. 元数据记录
  5. 抽象目录树

HDFS shell命令行

  1. Hadoop内置提供了shell命令行,格式为hadoop fs 参数。前面hadoop fs为固定搭配,表示操作的是文件系统,具体操作的文件系统则看参数中文件路径url的前缀协议。

    示例如下:
[root@node1 ~]# hadoop fs -ls file:///
Found 21 items
-rw-r--r-- 1 root root 0 2021-10-26 14:27 file:///.autorelabel
dr-xr-xr-x - root root 28672 2021-10-26 15:12 file:///bin
dr-xr-xr-x - root root 4096 2020-09-11 14:44 file:///boot
drwxr-xr-x - root root 3260 2022-10-25 19:23 file:///dev
drwxr-xr-x - root root 8192 2022-10-25 19:23 file:///etc
drwxr-xr-x - root root 48 2021-10-26 15:15 file:///export
drwxr-xr-x - root root 6 2018-04-11 12:59 file:///home
dr-xr-xr-x - root root 4096 2020-09-11 14:40 file:///lib
dr-xr-xr-x - root root 24576 2020-09-11 14:40 file:///lib64
drwxr-xr-x - root root 6 2018-04-11 12:59 file:///media
drwxr-xr-x - root root 6 2018-04-11 12:59 file:///mnt
drwxr-xr-x - root root 16 2020-09-11 14:40 file:///opt
dr-xr-xr-x - root root 0 2022-10-25 19:23 file:///proc
dr-xr-x--- - root root 4096 2022-10-24 21:15 file:///root
drwxr-xr-x - root root 840 2022-10-25 19:23 file:///run
dr-xr-xr-x - root root 16384 2021-10-26 15:13 file:///sbin
drwxr-xr-x - root root 6 2018-04-11 12:59 file:///srv
dr-xr-xr-x - root root 0 2022-10-25 19:23 file:///sys
drwxrwxrwt - root root 4096 2022-10-25 19:34 file:///tmp
drwxr-xr-x - root root 155 2020-09-11 14:39 file:///usr
drwxr-xr-x - root root 4096 2020-09-11 14:46 file:///var
[root@node1 ~]# hadoop fs -ls hdfs://node1:8020/
Found 3 items
drwxr-xr-x - root supergroup 0 2022-10-24 21:14 hdfs://node1:8020/itcast
drwx------ - root supergroup 0 2021-10-26 15:20 hdfs://node1:8020/tmp
drwxr-xr-x - root supergroup 0 2021-10-26 15:23 hdfs://node1:8020/user
[root@node1 ~]# hadoop fs -ls /
Found 3 items
drwxr-xr-x - root supergroup 0 2022-10-24 21:14 /itcast
drwx------ - root supergroup 0 2021-10-26 15:20 /tmp
drwxr-xr-x - root supergroup 0 2021-10-26 15:23 /user
[root@node1 ~]# hdfs dfs -ls /
Found 3 items
drwxr-xr-x - root supergroup 0 2022-10-24 21:14 /itcast
drwx------ - root supergroup 0 2021-10-26 15:20 /tmp
drwxr-xr-x - root supergroup 0 2021-10-26 15:23 /user
  1. shell命令行常用操作

    HDFS shell命令行的常用操作基本与Linux相同。具体如下:

  2. 创建文件夹:hadoop fs -mkdir -p

[root@node1 ~]# hadoop fs -mkdir -p /study/hdfs
[root@node1 ~]# hdfs dfs -ls /
Found 4 items
drwxr-xr-x - root supergroup 0 2022-10-24 21:14 /itcast
drwxr-xr-x - root supergroup 0 2022-10-25 20:11 /study
drwx------ - root supergroup 0 2021-10-26 15:20 /tmp
drwxr-xr-x - root supergroup 0 2021-10-26 15:23 /user
  1. 显示文件:hadoop fs -ls -h
[root@node1 ~]# hadoop fs -mkdir -p /study/hdfs
[root@node1 ~]# hdfs dfs -ls /
Found 4 items
drwxr-xr-x - root supergroup 0 2022-10-24 21:14 /itcast
drwxr-xr-x - root supergroup 0 2022-10-25 20:11 /study
drwx------ - root supergroup 0 2021-10-26 15:20 /tmp
drwxr-xr-x - root supergroup 0 2021-10-26 15:23 /user
[root@node1 ~]# hadoop fs -put anaconda-ks.cfg /study/hdfs
[root@node1 ~]# hadoop fs -ls /study/hdfs
Found 1 items
-rw-r--r-- 3 root supergroup 1340 2022-10-25 20:14 /study/hdfs/anaconda-ks.cfg
[root@node1 ~]# hadoop fs -ls -h /study/hdfs
Found 1 items
-rw-r--r-- 3 root supergroup 1.3 K 2022-10-25 20:14 /study/hdfs/anaconda-ks.cfg
  1. 上传文件:hadoop fs -put
[root@node1 ~]# echo 2222 > 2.txt
[root@node1 ~]# hadoop fs -put file:///root/2.txt hdfs://node1:8020/study/hdfs

  1. 查看文件:hadoop fs -cat
# hadoop fs -cat /itcast/anaconda-ks.cfg
  1. 下载文件:hadoop fs -get
[root@node1 ~]# ll
总用量 32
-rw-r--r-- 1 root root 2 10月 24 21:15 1.txt
-rw-------. 1 root root 1340 9月 11 2020 anaconda-ks.cfg
drwxr-xr-x 2 root root 55 10月 5 00:08 hivedata
-rw------- 1 root root 23341 10月 5 00:11 nohup.out
[root@node1 ~]# hadoop fs -get hdfs://node1:8020/itcast/2.txt file:///root/
[root@node1 ~]# ll
总用量 36
-rw-r--r-- 1 root root 2 10月 24 21:15 1.txt
-rw-r--r-- 1 root root 5 10月 25 21:08 2.txt
-rw-------. 1 root root 1340 9月 11 2020 anaconda-ks.cfg
drwxr-xr-x 2 root root 55 10月 5 00:08 hivedata
-rw------- 1 root root 23341 10月 5 00:11 nohup.out [root@node1 ~]# hadoop fs -get /itcast/2.txt ./666.txt
  1. 拷贝文件:hadoop fs -cd

  2. 追加数据到HDFS文件中:hadoop fs -appendToFile 注意!这个命令需要把集群全部打开,因为它涉及到了datanode节点,具体想了解的话可以看我上一篇博客

[root@node1 ~]# hadoop fs -appendToFile 1.txt 3.txt /2.txt
[root@node1 ~]# hadoop fs -cat /2.txt
2222
1
3
  1. 数据移动(重命名):hadoop fs -mv

HDFS基础学习的更多相关文章

  1. 零基础学习hadoop到上手工作线路指导(编程篇)

    问题导读: 1.hadoop编程需要哪些基础? 2.hadoop编程需要注意哪些问题? 3.如何创建mapreduce程序及其包含几部分? 4.如何远程连接eclipse,可能会遇到什么问题? 5.如 ...

  2. 零基础学习hadoop到上手工作线路指导(中级篇)

    此篇是在零基础学习hadoop到上手工作线路指导(初级篇)的基础,一个继续总结. 五一假期:在写点内容,也算是总结.上面我们会了基本的编程,我们需要对hadoop有一个更深的理解: hadoop分为h ...

  3. 零基础学习openstack【完整中级篇】及openstack资源汇总

    1.你是如何学习openstack的?2.你对openstack的组件了解多少?3.你认为openstack该如何学习? 一直想写关于openstack的方面的内容,今天终于整理完成.算是完成一桩心事 ...

  4. 零基础学习hadoop到上手工作线路指导初级篇:hive及mapreduce

      此篇是在零基础学习hadoop到上手工作线路指导(初级篇)的基础,一个继续总结.五一假期:在写点内容,也算是总结.上面我们会了基本的编程,我们需要对hadoop有一个更深的理解:hadoop分为h ...

  5. Spark基础学习精髓——第一篇

    Spark基础学习精髓 1 Spark与大数据 1.1 大数据基础 1.1.1 大数据特点 存储空间大 数据量大 计算量大 1.1.2 大数据开发通用步骤及其对应的技术 大数据采集->大数据预处 ...

  6. salesforce 零基础学习(五十二)Trigger使用篇(二)

    第十七篇的Trigger用法为通过Handler方式实现Trigger的封装,此种好处是一个Handler对应一个sObject,使本该在Trigger中写的代码分到Handler中,代码更加清晰. ...

  7. 如何从零基础学习VR

    转载请声明转载地址:http://www.cnblogs.com/Rodolfo/,违者必究. 近期很多搞技术的朋友问我,如何步入VR的圈子?如何从零基础系统性的学习VR技术? 本人将于2017年1月 ...

  8. IOS基础学习-2: UIButton

    IOS基础学习-2: UIButton   UIButton是一个标准的UIControl控件,UIKit提供了一组控件:UISwitch开关.UIButton按钮.UISegmentedContro ...

  9. HTML5零基础学习Web前端需要知道哪些?

    HTML零基础学习Web前端网页制作,首先是要掌握一些常用标签的使用和他们的各个属性,常用的标签我总结了一下有以下这些: html:页面的根元素. head:页面的头部标签,是所有头部元素的容器. b ...

随机推荐

  1. Web 前端实战:JQ 实现下拉菜单

    实现过程 实现一个简易的鼠标悬停菜单项显示其子项的下拉框控件.将用到 CSS 绝对定位.流式布局.动画等:JQuery 鼠标移入和移出事件.DOM 查找.效果图如下: HTML 结构: <div ...

  2. identity4 系列————纯js客户端案例篇[四]

    前言 前面已经解释了两个案例了,通信原理其实已经很清楚了,那么纯js客户端是怎么处理的呢? 正文 直接贴例子哈. https://github.com/IdentityServer/IdentityS ...

  3. 「学习笔记」单调队列优化dp

    目录 算法 例题 最大子段和 题意 思路 代码 修剪草坪 题意 思路 代码 瑰丽华尔兹 题意 思路 代码 股票交易 题意 思路 代码 算法 使用单调队列优化dp 废话 对与一些dp的转移方程,我们可以 ...

  4. 第三十三篇:关于ES6,JSON和Webpack

    好家伙 1.什么是ES6? ECMAScript是javascript标准 ES6就是ECMAScript的第6个版本 (大概是一个语法标准规范) 2.什么是JSON? JSON 是什么,在数据交换中 ...

  5. openstack中Neutron组件简解

    一.Neutron概述 Neutron 的设计目标是实现"网络即服务(Networking as a Service)".为了达到这一目标,在设计上遵循了基于 SDN 实现网络虚拟 ...

  6. KingbaseES 表空间加密-透明加密

    透明存储加密是指数据在写到磁盘上时对其进行加密,当授权用户重新读取数据时再对其进行解密.加密解密过程对用户都是透明的,无需对应用程序进行修改,授权用户甚至不会注意到数据已经在存储介质上加密.当前的透明 ...

  7. gem5使用记录,gem5入门学习和环境配置。

    工作需要,对gem5有点兴趣,准备自己研究一下,gem5新手刚开始入门学习,主要参考了网上其他前人的文章和官方说明. 目前网上的前人文章有部分有点太早了,稍显过时,我结合自己的经历来整理一下流程. g ...

  8. Gitea 1.17.1 正式发布 | 08 累积更新

    Gitea 1.17.1 已正式发布.在这个小的版本更新中我们合并了 35 个 PR,没有包含功能性的更改,但我们强烈建议用户升级到此版本以获得重要的修复补丁. 致谢:感谢报告问题的安全研究人员,同时 ...

  9. Netty 学习(一):服务端启动 & 客户端启动

    Netty 学习(一):服务端启动 & 客户端启动 作者: Grey 原文地址: 博客园:Netty 学习(一):服务端启动 & 客户端启动 CSDN:Netty 学习(一):服务端启 ...

  10. 如何在Windows中批量创建VMware的虚拟机

    在最近的工作中,需要创建一批类似的机器.在VMware中创建了模板,然后根据自义向导部署之后,发现可以快速的完成新vm的部署.系统中的计算机名,IP地址都可以自动的完成更新.唯一的缺点是,系统自带的向 ...