您的位置:首页 > 运维架构

Hadoop2.4.1学习笔记(二)之hdfs文件系统学习

2015-12-27 10:18 543 查看
                                                                                     Hadoop2.4.1学习笔记(二)之hdfs文件系统学习

    Hdfs是分布式文件系统。

   具体的实现机制:

  1.   是将一个源文件分割成多个块,分别存在多台服务器中,每个块存在各个服务器的本地文件系统中。

   2.对于客户端来说,会隐藏分布式的细节,由hdfs统一提供抽象的文件目录结构,在客户端访问时,是访问的该抽象目录结构,其内部会通过NameNode找到服务器对应的文件。

   3.每个切分出来的块可以有多个副本,即我们可以在多个服务器上存储同一个块。这是为了防止当一个服务器不能正常工作时,整个系统瘫痪。客户端仍可以通过其他服务器的同样的副本文件来读取到完整的文件。

   4.hdfs中的文件和具体的文件所在服务器中的实际存储关系是由专门的服务器NAMENODE来管理。

优点:

    1.容量可以线性扩展,指的是:通过扩充服务器的数量来扩展存储容量。注意:由于单个块具有多个副本导致服务器的物理存储容量并不能完成存储与该容量等同的数据。但是可以通过扩展服务器的数量来弥补。

    2.有副本机制:存储的可靠性高,吞吐量大。这里就是指单个的块有多个副本。

    3.有了NAMENODE可以很好的隐藏分布式的细节,客户端可以直接访问hdfs文件目录即可访问到文件,不需要关心实际的文件存储位置。

    对于文件存储节点DataNode的说明:

      一个系统中会有多个DataNode节点,每个节点实际就是服务器(Linux或Windows系统),是提供真实文件数据的存储服务。

     文件块是最小的存储单位,文件的大小是固定的,对于小于该大小的文件不会充分占用块固定空间。·

     在上传文件时注意选择将小文件合并为大文件之后再上传,这样是为了充分利用每个块的大小。

   副本的存放策略:

      1.先在客户端所连接的DataNode上存放一个副本

      2.再在另一个机架上随机选择一个DataNode存放一个副本

     3.最后在本机架上根据负载情况随机挑选一个DataNode存放第三个副本文件

  副本数量的优先级:

     1、可以在服务端的hdfs-site.xml文件中可以配置

     2、客户端的指定dfs.replication的值

    这两者同时指定时客户端指定的优先级最高。

   
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: