1 / 21

Geminifs 之

Geminifs 之. Hadoop NameNode Cluster. 京东 Hadoop. 作者 : 刘涛. 邮箱 : cdliutao@jd.com. 关于我们. 邮箱 : cdrd -uhp@jd.com. 我们在 hadoop 上的一些工作. 解决方案. 实现的核心细节. 未来计划. 目 录 CONTENTS. 面临的问题. 遇到的问题. 提高性能 :. 内存瓶颈 :. *元数据增加 *内存增加 *单机内存受限. * 单机处理能力受限. NameNode Cluster.

eve-vinson
Download Presentation

Geminifs 之

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Geminifs 之 HadoopNameNode Cluster 京东Hadoop 作者: 刘涛 邮箱: cdliutao@jd.com

  2. 关于我们 邮箱:cdrd-uhp@jd.com

  3. 我们在hadoop上的一些工作

  4. 解决方案 实现的核心细节 未来计划 目 录 CONTENTS 面临的问题

  5. 遇到的问题 提高性能: 内存瓶颈: *元数据增加 *内存增加 *单机内存受限 * 单机处理能力受限 NameNode Cluster

  6. 已有方案 –-HDFS Federation

  7. 已有方案 -- MapR

  8. 我们的方案 -Geminifs 2.0 • 虚拟节点 • 每个虚拟节点代表原目录树空间中以此节点为根的子树 • 每个Namenode负责1个或多个虚拟节点所对应的子树 / k a z zx Namespace zxn a1 ax ka kk kz zn zz … … kn Namenode Namenode • Heartbeat • Block replicate check • Block management BlockManager BlockManager Storage knk knn knz Datanode Datanode Datanode Datanode

  9. Geminifs 2.0

  10. Geminifs 2.0 • 新增特性 • NN侧重目录树管理 • NN不停机横向扩展 • BM通用存储方案 • BM不停机横向扩展 • 用户无需配置扩展的节点 • 元数据与存储解耦 • NN,BM独立提高性能 • NN,BM HA

  11. 实现 目录树拆分 / / • 将要拆分的子树目录结构在新的Namenode的根目录下重建 • 将原Namenode上拆分出去的目录节点标记为虚拟节点 • 将原Namenode上拆分出去的目录节点的所有子节点删除 z - k a z k a zx zn ka kk kz kn a1 ax a1 ax zx zn zxn knk knn knz … … / 如何访问/k/kn/knk / zx / kn k zxn NN1 NN2 NN3 NN4 knk knn knz … … ka kk kz kn

  12. 实现 主干树 / • 从根节点到任意虚拟节点的完整路径 • 叶子节点是虚拟节点 • 虚拟节点上记录此子树被加载的Namenode地址 • 各Namenode及访问的客户端都保存最新的主干树 z k a zx zn ka kk kz kn a1 ax zxn knk knn knz … … / z k kn zx

  13. 实现 目录树拆分 / / • 将要拆分的子树目录结构在新的Namenode的根目录下重建 • 将原Namenode上拆分出去的目录节点标记为虚拟节点 • 将原Namenode上拆分出去的目录节点的所有子节点删除 z - k a z k a zx zn ka kk kz kn a1 ax a1 ax zx zn zxn knk knn knz … … / / zx / / kn k z zxn k 主干树 NN1 NN2 NN3 NN4 knk knn knz … … kn zx ka kk kz kn NN2 NN3 NN4

  14. 实现 如何访问/k/kn/knk / - NN1 NN2 NN3 NN4 z k a a1 ax zx zn / / zx / / kn k z zxn k 主干树 knk knn knz … … kn zx ka kk kz kn NN2 NN3 NN4

  15. 实现 如何实现权限验证 / z k a zx zn ka kk kz kn a1 ax zxn knk knn knz … … • 从根节点到任意虚拟节点的完整路径 • 叶子节点是虚拟节点 • 虚拟节点上记录此子树被加载的Namenode地址 • 各Namenode及访问的客户端都保存最新的主干树 • 主干树的每个节点记录属主及Mode / z k kn zx 路径在主干树部分从主干树上验证,路径中主干树外剩余部分由NN自己保存的节点信息验证

  16. 实现 主干树完善&优化

  17. 实现 数据块管理功能独立 NN: - FileNode FileID (唯一) Namenode Cluster Block Manager Cluster BM: - HashMap - FileID[Blocks] DN: - Block 增加FileID属性 Datanode Cluster

  18. 实现 完善&优化

  19. High Availability RDB ZK Cluster Cluster Commands Heartbeat Metadata node Client Active Write edits Read edits Standby Share storage Local disk Local disk

  20. 下一步的工作

  21. 谢 谢!

More Related