一、HDFS基本概述

1、HDFS描述

大数据领域一直面对的两大核心模块:数据存储,数据计算,HDFS作为最重要的大数据存储技术,具有高度的容错能力,稳定而且可靠。HDFS(Hadoop-Distributed-File-System),它是一个分布式文件系统,用于存储文件,通过目录树来定位文件;设计初衷是管理数成百上千的服务器与磁盘,让应用程序像使用普通文件系统一样存储大规模的文件数据,适合一次写入,多次读出的场景,且不支持文件的修改,适合做数据分析。

2、基础架构

HDFS具有主/从体系结构,有两个核心组件,NameNode与DataNode。

NameNode

负责文件系统的元数据(MetaData)管理,即文件路径名、数据块ID、存储位置等信息,并配置副本策略,处理客户端读写请求。

DataNode

执行文件数据的实际存储和读写操作,每个DataNode存储一部分文件数据块,文件整体分布存储在整个HDFS服务器集群中。

Client

客户端,文件切分上传HDFS的时候,Client将文件切分成一个一个的Block,然后进行上传;从NameNode获取文件的位置信息;与DataNode通信读取或者写入数据; Client通过一些命令来访问或管理HDFS。

Secondary-NameNode

不是NameNode的热备,但是分担NameNode工作量,比如定期合并Fsimage和Edits,并推送给NameNode;在紧急情况下,可辅助恢复NameNode。

3、高容错性

数据块多份复制存储的示意,文件/users/sameerp/data/part-0,复制备份设置为2,存储的block-ids分别为1、3;文件/users/sameerp/data/part-1,复制备份设置为3,存储的block-ids分别为2、4、5;任何单台服务器宕机后,每个数据块至少还存在一个备份服务存活,不会影响对文件的访问,提高整体容错性。

HDFS中的文件在物理上是分块存储(Block),块的大小可以通过参数dfs.blocksize来配置,块设置太小,会增加寻址时间;块设置的太大,从磁盘传输数据的时间会很慢,HDFS块的大小设置主要取决于磁盘传输速率。

二、基础Shell命令

1、基础命令

查看Hadoop下相关Shell操作命令。

[root@hop01 hadoop2.7]# bin/hadoop fs[root@hop01 hadoop2.7]# bin/hdfs dfs

dfs是fs的实现类

2、查看命令描述

[root@hop01 hadoop2.7]# hadoop fs -help ls

3、递归创建目录

[root@hop01 hadoop2.7]# hadoop fs -mkdir -p /hopdir/myfile

4、查看目录

[root@hop01 hadoop2.7]# hadoop fs -ls /[root@hop01 hadoop2.7]# hadoop fs -ls /hopdir

5、剪贴文件

hadoop fs -moveFromLocal /opt/hopfile/java.txt /hopdir/myfile## 查看文件hadoop fs -ls /hopdir/myfile

6、查看文件内容

## 查看全部hadoop fs -cat /hopdir/myfile/java.txt## 查看末尾hadoop fs -tail /hopdir/myfile/java.txt

7、追加文件内容

hadoop fs -appendToFile /opt/hopfile/c++.txt /hopdir/myfile/java.txt

8、拷贝文件

copyFromLocal命令和put命令相同

hadoop fs -copyFromLocal /opt/hopfile/c++.txt /hopdir

9、HDFS文件拷贝到本地

hadoop fs -copyToLocal /hopdir/myfile/java.txt /opt/hopfile/

10、HDFS内拷贝文件

hadoop fs -cp /hopdir/myfile/java.txt /hopdir

11、HDFS内移动文件

hadoop fs -mv /hopdir/c++.txt /hopdir/myfile

12、合并下载多个文件

基础命令get和copyToLocal命令效果相同。

hadoop fs -getmerge /hopdir/myfile/* /opt/merge.txt

13、删除文件

hadoop fs -rm /hopdir/myfile/java.txt

14、查看文件夹信息

hadoop fs -du -s -h /hopdir/myfile

15、删除文件夹

bin/hdfs dfs -rm -r /hopdir/file0703

三、源代码地址

GitHub·地址https://github.com/cicadasmile/big-data-parentGitEE·地址https://gitee.com/cicadasmile/big-data-parent

hdfs复制文件夹_Hadoop框架:HDFS简介与Shell管理命令相关推荐

  1. hdfs复制文件夹_一文理解HDFS

    一.架构原理 HDFS 是Hadoop Distributed File System的简称,是HADOOP抽象文件系统的一种实现.Hadoop抽象文件系统可以与本地系统.Amazon S3等集成,甚 ...

  2. hdfs复制文件夹_HDFS常用命令

    一.HDFS命令行 Hadoop help命令的使用 1.hadoop -help查询所有Hadoop Shell支持的命令 2.distcp 这是Hadoop下的一个分布式复制程序,可以在不t同的H ...

  3. Hadoop框架:HDFS简介与Shell管理命令

    本文源码:GitHub·点这里 || GitEE·点这里 一.HDFS基本概述 1.HDFS描述 大数据领域一直面对的两大核心模块:数据存储,数据计算,HDFS作为最重要的大数据存储技术,具有高度的容 ...

  4. hdfs 进入文件夹_hdfs操作命令

    dfsadmin主要操作命令 dfsadmin [GENERIC_OPTIONS] [-report] [-safemode enter | leave | get | wait] [-refresh ...

  5. linux命令 复制文件夹命令行,(转)每天一个linux命令(8):cp 命令,复制文件和文件夹...

    场景:自动部署脚本中为了部署方便,将配置文件放在服务器端,每次部署都使用服务端的配置文件覆盖上传上去的配置文件. cp命令用来复制文件或者目录,是Linux系统中最常用的命令之一. 一般情况下,she ...

  6. 命令行 移动整个文件夹 -baijiahao_Windows高手的高效办公利器——Windows命令行简介...

    Windows命令行是什么呢?为了好理解,咱们直接举例说明.例如咱们要在D盘下创建一个名为"666"的文件夹,那常规的操作是进入D盘,然后在任意空白处点击右键,在弹出菜单中选择&q ...

  7. 禁止复制服务器文件夹,远程桌面服务器 禁止复制文件夹

    远程桌面服务器 禁止复制文件夹 内容精选 换一换 若SDK已有插件满足开发需求,则直接执行以下的编译运行操作.若已有插件不满足开发需求,用户需要开发自定义插件并编写相应的CMakeLists文件,执行 ...

  8. python下的所有文件_python批量复制文件夹下所有文件大小

    python复制文件夹下所有文件 Python---进阶---文件操作---获取文件夹下所有文件的数量和大小 一.####编写一个程序,统计当前目录下每个文件类型的文件数 ####思路: - 打开当前 ...

  9. 【Java文件操作(三)】递归复制文件夹内所有文件

    我的博客--Java文件操作系列 [Java文件操作(一)]递归打印文件目录 [Java文件操作(二)]删除文件夹,但保留其内部文件 [Java文件操作(三)]递归复制文件夹内所有文件 [Java文件 ...

最新文章

  1. 网传阿里一总裁 PPT 被员工拍照泄漏,新规划遭曝光
  2. JavaScript疑难杂症系列-事件循环
  3. 任务计划cron、服务管理工具chkconfig/systemctl
  4. macbook可以装linux,怎样给老旧的 MacBook 安装 Linux
  5. 里程碑Droid/Milestone/XT702官方正式2.2ROM刷机教程及刷机失败解决方法(含2.1底包)
  6. 【Python】学习笔记总结3(Python文件操作)
  7. Ubuntu switch window switch terminal tab
  8. PHP str_replace() 和str_ireplace()函数
  9. Web数据存储之localStorage和sessionStorage
  10. 一个全栈式的应用集成平台,打破“信息孤岛”
  11. 程序员如何自我学习和成长?深度好文
  12. PyCharm 中为 Python 项目添加.gitignore文件
  13. 第十一节:Springboot整合log4j2日志
  14. 05-不借用第三个变量实现两个变量值互换(运算符)
  15. 15.UNIX 环境高级编程--进程间的通信
  16. Matter-JS Composites 混合材料 · 下
  17. apple script to 1s screen capture snapshot w/ windowsill
  18. 关于LTE下行导频信号
  19. 2021年ARINC818数字视频传输重磅新品–Helios
  20. NoteExpress使用教程及添加参考文献自动跳转超链接

热门文章

  1. C#下实现的基础K-MEANS多维聚类
  2. webworker应用场景_典型应用场景 · OpenResty最佳实践-最新版 · 看云
  3. mysql映射成hashmap_大厂面试必问!HashMap 怎样解决hash冲突?
  4. 《程序员面试宝典》精华 面向对象部分
  5. linux 好用的命令行软件,比较好用的linux命令
  6. python制作查询工具发给别人使用_用Python做一个简单的翻译工具
  7. html手机端富文本,pc端富文本编辑的字符串在手机端适配
  8. 如何在 ES5 环境下实现一个const ?
  9. 阿里云发布首个流式存储与播放解决方案
  10. CYQ.Data.Orm.DBFast 新增类介绍(含类的源码及新版本配置工具源码)