美文网首页
大数据组件知识点总结(1) - HDFS

大数据组件知识点总结(1) - HDFS

作者: 千反田爱瑠爱好者 | 来源:发表于2018-08-22 11:35 被阅读46次
  • 分布式文件系统,具备良好的扩展性、容错性、易用的API;
  • 将文件切分成等大数据块,多副本存储到多个节点上;
  • 采用主从架构;
  • 提供丰富的访问方式。

基本架构

NameNode

  • 元信息管理:文件系统目录树、和文件数据块信息;
  • 节点管理:通过心跳管理DataNode运行状态;
  • 高可用:通过ZooKeeper实现主备切换(Active NameNode、Standby NameNode);
  • 状态同步:(非强一致协议)通过共享存储共享日志实现主备NameNode的状态一致;
  • 负载均衡:NameNode Federation机制,多个对外服务的NameNode各自管理目录树的一部分(各自有主备),对上再封装一层ViewFs。

DataNode

  • 存放数据块(默认块大小为128MB);
  • 以数据流水线形式(副本)写入数据;
  • 通过校验码判断块损坏情况,受损副本由NameNode从其他节点的正常副本重构;

Client

  • 可与DataNode位于相同节点,也可以不同,对副本的放置策略有影响;
  • 通过NameNode与DataNode进行交互,完成对HDFS的管理。

关键技术

容错性设计

  • NameNode:配置Active-Standby高可用,防止单点故障导致元信息丢失(整个集群不可访问);
  • DataNode:多副本写入,通过心跳机制向NameNode汇报状态,可在其他节点重构受损节点的数据块;
  • Block:保存数据块时生成校验码供存取数据时要核对,不一致即为损坏,需要从其他节点重构受损数据块。

副本放置策略

  • 默认每个数据块放置三个副本;
  • 当Client与DataNode位于相同节点,则第一个副本写到相同节点的DataNode,其余两个分别写到另一个机架的不同DataNode;
  • 当Client与DataNode位于相同节点,随机选择一个DataNode放置第一个副本,其余两个分别写到另一个机架的不同DataNode。

异构存储介质

  • 支持多种存储类型:ARCHIVE、DISK、SSD、RAM_DISK;
  • 多种存储类型可混合使用。

集中式缓存管理

HDFS允许一部分文件缓存在off-heap内存中,加速访问效率。

  • 提高集群内存利用率;
  • 防止频繁使用的数据被移出内存;
  • 提高数据读取效率:
    • DataNode缓存统一由NameNode管理,调度策略优先调度到缓存块所在节点上,提高读出性能;
    • 数据块被缓存后HDFS使用高效的支持zero-copy的新API加快读速度,减少客户端开销。

访问方式

  • HDFS Shell
  • HDFS API
  • 数据收集组件
  • 计算引擎

相关文章

网友评论

      本文标题:大数据组件知识点总结(1) - HDFS

      本文链接:https://www.haomeiwen.com/subject/drbeiftx.html