官方API链接地址:http://hadoop.apache.org/docs/current/
一、什么是HDFS?
HDFS(Hadoop distributed file system):Hadoop上面的通用的分布式文件系统,具有高容错,高吞吐量的特性,同时它也是Hadoop的核心。
二、Hadoop的优缺点
优点:
1)高可靠性。Hadoop按位存储和处理数据的能力值得人们信赖;
2)高扩展性。Hadoop是在可用的计算机集簇间分配数据并完成计算任务的,这些集簇可以方便地扩展到数以千计的节点中。
3)高效性。Hadoop能够在节点之间动态地移动数据,并保证各个节点的动态平衡,因此处理速度非常快。
4)高容错性。Hadoop能够自动保存数据的多个副本,并且能够自动将失败的任务重新分配。
缺点:
1) 不适合低延迟数据访问。
2) 无法高效存储大量小文件。
3) 不支持多用户写入及任意修改文件。
三、对HDFS操作命令
hadoop fs +下面的命令
-ls <path>:查看HDFS里面的文件
-lsr <path>:递归查看HDFS里面的文件
-mkdir <path>:在HDFS里面创建一个文件夹
-put <path> <hdfs-path>:把当前目录里面的文件拷贝到HDFS里面
-get <hdfs-hdfs> <path>:把HDFSA里面的文件下载到本地
-text <path>:查看HDFS里面文件的内容
-rm[r] <path>:删除HDFS里面的文件
四、HDFS的namenode
它是整个文件系统的管理节点,它维护着整个文件系统的目录树,文件/目录的元信息和每个文件对应的数据块列表。接受用户的操作请求。
1)fsimage:元数据镜像文件,存储某一段时间NameNode内存元数据信息。
2)edits:操作日志文件。
3)fstime:保存最近一次checkpoint的时间
注释:上面是三个文件保存在linux文件系统里面
五、HDFS中的SecondaryNameNode
1)从NameNode中下载数据(fsimage,edit),然后把二者合并,生成新的fsimage,并本地保存,并将其推送给NameNode,同时重置NameNode中的edit
六、HDFS的Datanode
1)文件块(block):最基本的存储单位。对于文件内容而言,一个文件的长度大小是size,那么从文件的0偏移开始,按照固定的大小,顺序对文件划分编号,划分好的每一个块称一个Block.HDFS默认Block大小是128M。
2)不同于普通文件系统的是,HDFS中,如果一个文件小于一个数据库的大小,并不占用整个数据块存储空间。
原文:http://www.cnblogs.com/hiter-java/p/4131986.html