HDFS简单介绍

1.介绍
HDFS 全称是 Hadoop Distribute File System,是Hadoop进行数据存储的核心组件,作为最底层的分布式存储服务存在。分布式文件系统解决的问题就是大数据存储。它们是横跨在多台计算机上的存储系统。

2.特性:

2.1master/savle架构

master/savle架构。一般一个HDFS集群是由一个NameNode和一定数量的DataNode组成。NameNode主要管理元数据信息,DataNode主要存储各种数据。

2.2分块存储

HDFS 中的文件在物理上是分块存储(block)的,块的大小可以通过配置参数来规定,默认大小在 hadoop2.x 版本中是 128M。 为了解决某个文件比较大,任何一个机器都存不下的问题,将比较大的文件,拆成一小块,在Hadoop中称为block块。hadoop2当中一个block块默认是128M大小

2.3命名空间

HDFS 支持传统的层次型文件组织结构。用户或者应用程序可以创建目录,然后将文件保存在这些目录里。文件系统名字空间的层次结构和大多数现有的文件系统类似:用户可以创建、删除、移动或重命名文件。

2.4副本机制

为了容错,文件的所有 block 都会有副本。每个文件的 block 大小和副本系数都是可配置的。应用程序可以指定某个文件的副本数目。副本系数可以在文件创建的时候指定,也可以在之后改变。

2.5一次写入,多次读取

HDFS 是设计成适应一次写入,多次读出的场景,且不支持文件的修改。文件的修改会导致元数据的频繁更新。正因为如此,HDFS 适合用来做大数据分析的底层存储服务,并不适合用来做.网盘等应用,因为,修改不方便,延迟大,网络开销大,成本太高。

3.命令行的使用

3.1 ls 查询hdfs 下的文件或文件夹

           hdfs dfs -ls / 查看根路径下面的文件或者文件夹
           hdfs dfs -ls [-R] 递归的创建

3.2 mkdir 创建文件夹
           hdfs dfs -mkdir -p 在hdfs上创建递归的文件夹

3.3 moveFromlLocal 将本地文件移动到hdfs磁盘上
           hdfs dfs -moveFromLocal source(本地磁盘路径) destDir(hdfs路径)

3.4 mv 将文件或目录从hdfs的一个路径移动到另一个路径
           hdfs dfs -mv hdfsSourceDir hdfsDestDir

3.5 put 把本地文件系统的文件或文件夹复制到hdfs中
           hdfs dfs -put localDir hdfsDir

3.6 appendToFile 追加一个或多个文件到hdfs指定的文件中
             hdfs dfs -appendToFile

3.7 cat 查看内容
           hdfs dfs -cat hdfsDir

3.8 cp 拷贝文件
           hdfs dfs -cp hdfsSourceDir hdfsDestDir 拷贝文件或文件夹

3.9 rm(递归) 删除文件
           hdfs dfs -rm [-f] [-r|-R] [-skipTrash] URI (-rmr )

3.10 权限管理
           hdfs dfs -chmod -R 777 /xxx
           hdfs dfs -chown -R hadoop:hadoop /xxx 改变所属用户,用户组

4.高级命令

4.1 数量限额
       主要用来限制某个路径下面的文件个数,或者限制某个路径下面,文件的大小。

             hdfs dfsadmin -setQuota 2 lisi # 给该文件夹下面设置最多上传两个文件,上传文件,发现只能上传一个文件(自身文件夹也算一个)

             hdfs dfsadmin -clrQuota /user/root/lisi # 清除文件数量限制

4.2空间大小限额
             hdfs dfsadmin -setSpaceQuota 文件限制大小 文件路径

4.3 hdfs安全模式

         安全模式是HDFS所处的一种特殊状态,在这种状态下,文件系统只接受读数据请求,而不接受删除、修改等变更请求。
hdfs集群刚启动的时候,默认30S钟的时间是出于安全期的,只有过了30S之后,集群脱离了安全期,然后才可以对集群进行操作

             hdfs dfsadmin -safemode

5.压力测试

5.1测试写入速度
           写入速度一般在30M/s左右

5.2测试读取数据
           读取速度100M/s左右

你可能感兴趣的:(HDFS简单介绍)