![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Hadoop
文章平均质量分 93
KK架构
天道酬勤
展开
-
HDFS 双缓冲技术核心源码剖析
本文大纲一、HDFS 是大数据的基石我们都知道,HDFS 是大数据存储的基石,所有的离线数据都存储在 HDFS 上,而 NameNode 是存储所有元数据的地方(所谓元数据就是描述数据的数据,比如文件的大小,文件都存储在哪些 DataNode 上,文件在目录树的位置等),所以 NameNode 便成为了 HDFS 最关键的部分。在离线数仓中,会存在很多离线任务,这些离线任务都要往 HDFS 写数据,每次写数据都会经过 NameNode 来保存元数据信息,那么 NameNode 势必会承担非常多的请求原创 2021-05-24 20:46:15 · 644 阅读 · 3 评论 -
HDFS写数据流程 源码阅读与原理解读
一、前言想必每次去面试都复习这样一道题:HDFS 的读写流程,自然是先百度一番,复制一下答案,1 2 3 4 5 6 点,背一背完事。面试完,还是不了解 HDFS 究竟是怎么设计这个写数据流程的。其实这个里面也有很多我们值得学习的东西,比如既然写数据到 DataNode,如何保障数据一致性,如何保障数据在写的时候不丢失,重试如何做的,如何做三备份的?那么这次咱就趴一趴 HDFS 的写数据流程吧。二、往 HDFS 写数据的客户端代码我们用 HDFS 的 api ,从一个写数据的代码开始剖析这个过程:原创 2021-05-17 23:00:27 · 1777 阅读 · 0 评论 -
DataNode 心跳机制源码解读
一、分布式系统中的心跳技术心跳是分布式技术中常用的技术手段。心跳,顾名思义,就是以固定的频率向其他节点汇报当前节点状态的方式。收到心跳,一般可以认为发送心跳的这个节点在当前的网络拓扑中是良好的。当然,心跳汇报时,一般也会携带一些附加的状态、元数据信息、当前节点的信息,以便其他节点管理。心跳有两种方式:单向的 heartbeat;交互的 ping-pong;第一种方式下,target 进程需要定时给 detector 发送消息,告知自己的存活性。而 detector 无需给 target 回复原创 2021-03-15 21:11:13 · 1387 阅读 · 0 评论 -
如何阅读百万行 Hadoop 源码?来一起读 NameNode 启动过程源码,初窥其境
一、阅读 HDFS 源码的缘由HDFS 是大数据的最基础的设施了,几乎所有的离线存储都在 HDFS 上。但是在大规模 HDFS 集群中,下面的问题通常会让我们无比头疼:元数据的量级超过亿级之后,NameNode 的内存也会变得非常巨大,启动和维护都变的异常困难;如何保障 HDFS 的高可用?NameNode 里面发生长时间的 GC 之后,导致 NameNode 进程退出,该如何解决?如何优化 DataNode 的锁粒度,让其性能更高效?以上种种问题,都需要我们阅读源码,甚至原创 2021-03-13 15:34:04 · 328 阅读 · 0 评论