加入收藏 | 设为首页 | 会员中心 | 我要投稿 通化站长网 (https://www.0435zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长资讯 > 动态 > 正文

阅读百万行 Hadoop 的源码

发布时间:2021-03-27 11:08:51 所属栏目:动态 来源:互联网
导读:、阅读 HDFS 源码的缘由 HDFS 是大数据的最基础的设施了,几乎所有的离线存储都在 HDFS 上。 但是在大规模 HDFS 集群中,下面的问题通常会让我们无比头疼: 元数据的量级超过亿级之后,NameNode 的内存也会变得非常巨大,启动和维护都变的异常困难; 如何保障

、阅读 HDFS 源码的缘由

HDFS 是大数据的最基础的设施了,几乎所有的离线存储都在 HDFS 上。

但是在大规模 HDFS 集群中,下面的问题通常会让我们无比头疼:

  • 元数据的量级超过亿级之后,NameNode 的内存也会变得非常巨大,启动和维护都变的异常困难;
  • 如何保障 HDFS 的高可用?
  • NameNode 里面发生长时间的 GC 之后,导致 NameNode 进程退出,该如何解决?
  • 如何优化 DataNode 的锁粒度,让其性能更高效?

以上种种问题,都需要我们阅读源码,甚至要修改它的源码才能解决。

所以虽然阅读源码非常痛苦,但是这个坎还是得过的。

二、如何阅读 Hadoop 这样的百万行代码的开源项目

首先 hadoop 是用 java 写的,所以一些 java 基础知识必不可少,比如锁,线程,设计模式,java 虚拟机,java io,不求很深入,基础得知道。

其次,不能一行行的读代码,这样很容易迷失在无边际的代码中,逃不出来,最后很容易就放弃了。

最后,以具体场景来驱动代码阅读。比如本文就是以 NameNode 的启动过程,来驱动代码阅读的。并且把关键的流程节点和类用流程图记录下来。

三、源码走读

找到 NameNode 类

从 main 方法开始,创建 NameNode

(编辑:通化站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!