DFS是一种允许文件通过网络在多台主机上分享的文件系统分布式文件管理系统很多,hdfs只是其中一种.
适用于一次写入多次查询的情况,不支持并发写情况,小文件不合适.
#hadoop fs -ls / 查看HDFS根目录
#hadoop fs -mkdir /test 在根目录创建一个目录test
#hadoop fs -mkdir /test1 在根目录创建一个目录test1
#hadoop fs -put ./test.txt /test
#hadoop fs -get /test/test.txt .
#hadoop fs -cp /test/test.txt /test1
#hadoop fs -rm /test1/test.txt
#hadoop fs -mv /test/test.txt /test1
#hadoop fs -rmr /test1
------------------------------------
(1)Namenode
是整个文件系统的管理节点.它维护着整个文件系统的文件目录树,文件/目录的元信息和每个文件对应的数据块列表.接收用户的操作请求.
hdfs-site.xml的dfs.name.dir属性
fsimage:元数据镜像文件.存储某一时段NameNode内存元数据信息.
edits:操作日志文件.
fstime:保存最近一次checkpoint的时间.
以上这些文件是保存在linux的文件系统中.
(2)Datanode
提供真实文件数据的存储服务.
hdfs-site.xml的dfs.replication属性
文件块(block):最基本的存储单位.对于文件内容而言,一个文件的长度大小是size,那么从文件的0偏移开始,按照固定的大小,
顺序对文件进行划分并编号,划分好的每一个块称一个Block.HDFS默认Block大小是64MB,以一个256MB文件,共有256/64=4个Block.
不同于普通文件系统的是,HDFS中,如果一个文件小于一个数据块的大小,并不占用整个数据块存储空间Replication。多复本。默认是三个.
(3)SecondaryNameNode
HA的一个解决方案.但不支持热备.
执行过程:从NameNode上下载元数据信息(fsimage,edits),然后把二者合并,生成新的fsimage,在本地保存,并将其推送到NameNode,
同时重置NameNode的edits.
默认在安装在NameNode节点上,但这样...不安全!