Hadoop笔记 2 HDFS

来源:互联网 发布:ipmsg linux 编辑:程序博客网 时间:2024/06/03 20:38

HDFS的如下几个特性:

  1. 硬件故障作为常态,所以HDFS有快速检测,备份,恢复节点的能力。
  2. HDFS注重的是对流式数据的访问,所以注重的是吞吐量。
  3. 支持大规模数据的存储,并且能提供很高的传输速率。
  4. 一次写入,多次读取,不会再更改了。
  5. 移动计算:HDFS开放接口让程序移动到数据旁边计算,而不是把数据移动到程序旁边。

笔记:

==================Name node==========================

  • 客户端从Name node获得节点的元数据,提供数据和data node的映射。然后直接与data node交互读取文件。
  • 文件以64m为一个block,文件分为多个block分布在节点中。
  • Check point:name node 从磁盘上读取事务日志(editlog :记录元数据)和映像文件(Fsimage:记录命名空间和映射)。将Namenode中的edits和fsimage文件拷贝到Second Namenode上,然后将edits中的操作与fsimage文件merge以后形成一个新的fsimageSecond Namenode需要把merge后的fsimage文件upload到Namenode上面,完成Namenode中fsimage的更新。
  • editlog和fsimage有多个副本,每个对元数据的操作都会同步到多个副本。
  • Name node会周期性的从data node中接受心跳包和块报告。如果没有收到,则证明该data node宕机了。Name 不在发送I/O,并且重新复制块。
  • 安全模式:Name node启动的时候会收集各个data node的状态,这时

=================Data Node=================

  • 数据映射:Data node在启动的时候会遍历自己的文件系统,生成一个本地系统和HDFS 块的映射关系,被称为blockreport,然后发送给Namenode。
  • 备份:启动Rack-ware(机架感知)之后,例如将备份因子设置为3,它会将datanode的数据备份一个到同机架上,另一个备份到另一个机架上。
  • 当HDFS在创建文件的时候会生成一个checksum(校验和),存放在一个隐蔽的空间内,当客户端获得文件后,会和check sum进行比较。如果不匹配则证明文件有问题,就从其它的备份处获得文件。
  • 文件被删除后是放在trash的目录下的,在指定时间内可以恢复,超过时间将删除文件并释放块。
原创粉丝点击