关于大数据:Hadoop框架HDFS简介与Shell管理命令

33次阅读

共计 2369 个字符,预计需要花费 6 分钟才能阅读完成。

本文源码:GitHub·点这里 || GitEE·点这里

一、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-parent
GitEE·地址
https://gitee.com/cicadasmile/big-data-parent

举荐浏览:编程体系整顿

项目名称
【Java 形容设计模式, 算法, 数据结构】GitHub==GitEE
【Java 根底、并发、面向对象、Web 开发】GitHub==GitEE
【SpringCloud 微服务根底组件案例详解】GitHub==GitEE
【SpringCloud 微服务架构实战综合案例】GitHub==GitEE
【SpringBoot 框架根底利用入门到进阶】GitHub==GitEE
【SpringBoot 框架整合开发罕用中间件】GitHub==GitEE
【数据管理、分布式、架构设计根底案例】GitHub==GitEE
【大数据系列、存储、组件、计算等框架】GitHub==GitEE

正文完
 0