![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
HDFS
文章平均质量分 67
中国好胖子、
学不死就往死里学,比你优秀的人比你还努力,你还拿什么和别人拼
展开
-
HDFS源码解析之HDFS写数据流程(九)
1. 当我们向HDFS写文件会发生什么?测试代码/** * Copyright (c) 2019 leyou ALL Rights Reserved * Project: hadoop-main * Package: org.apache.hadoop * Version: 1.0 * * @author qingzhi.wu * @date 2020/7/6 20:05 */public class TestHDFS { public static void main(S原创 2020-07-12 14:56:56 · 1630 阅读 · 0 评论 -
HDFS源码解析之简易分段锁双缓冲机制实现(五)
1. HDFS元数据原理流程2. 自己实现分段加锁和双缓冲方案(百分之95的相似,比hdfs优化了一些地方)2.1 DoubleBufferpackage com.bigdata.hdfs.app.double_memery;import java.util.LinkedList;/** * Copyright (c) 2019 leyou ALL Rights Reserved Project: learning Package: * com.bigdata.hdfs.app.doub原创 2020-07-05 18:00:45 · 956 阅读 · 3 评论 -
从HDFS源码学习接口重试机制
从hdfs 源码里面学习重试机制。原创 2021-12-28 15:36:00 · 1152 阅读 · 0 评论 -
HDFS源码解析之NameNode(standby)元数据源码剖析(八)
1. NameNode(standby)元数据源码剖析2. 总结首先Namenode(standby)节点会通过EditLogTailer这个类的线程,每间隔60s就去检查是否需要做元数据同步了然后会通过FSImage中调用FSEditLogerLoader去我们的Journalnode节点去拉取数据(通过的是http)然后会把我们每一条元数据都转换为操作对象,依次对我们的内存中的元数据进行更新当然我们还需要去给Namenode做checkpoint他采用的是StandbyCheckpoin原创 2020-07-09 22:51:56 · 342 阅读 · 0 评论 -
HDFS源码解析之HDFS元数据写入机制剖析(七)
1. HDFS元数据写入机制剖析1.1 HDFS元数据如何写入内存?我们接着上一篇博客的mkdirs之后到底发生了什么?之后我们目录已经创建到了我们的目录树上,那么接下来,我们是不是需要看一下元数据是如何写入磁盘的呢1.1.1 createSingleDirectoryprivate static INodesInPath createSingleDirectory(FSDirectory fsd, INodesInPath existing, String localName, P原创 2020-07-08 23:01:38 · 755 阅读 · 0 评论 -
HDFS源码解析之在我们使用mkdir之后hdfs到底发生了什么(六)
1. 我们采用场景驱动的方式,首先我们编写一段代码package org.apache.hadoop;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.FileSystem;import org.apache.hadoop.fs.Path;import java.io.IOException;/** * Copyright (c) 2019 leyou ALL Rights Reserved原创 2020-07-07 22:38:19 · 472 阅读 · 0 评论 -
HDFS源码解析之DataNode启动流程与心跳机制(四)
DataNode 启动流程1. 查看DataNode类的注释1.1 DataNode类注释/********************************************************** * DataNode is a class (and program) that stores a set of * blocks for a DFS deployment. A single deployment can * have one or many DataNodes.原创 2020-07-05 13:43:38 · 493 阅读 · 0 评论 -
HDFS源码解析之NameNode的安全模式(三)
一、NameNodeRPC启动后安全检查上一次我们看到了我们的NameNodeRPC启动成功了,并且也验证了NameNode就是我们对外服务RPC服务端,那么我们接着往下看,其实我们的NameNode还没有初始化完成,因为什么呢,我们还记得在我们的50070上面的web页面上,有一个安全模式,我们还没有看到这里源码来回跳不是很好看二、结论threshold != 0 && blockSafe < blockThresholdHDFS的元数据管理程序会统计上一次关闭集原创 2020-07-04 19:29:47 · 317 阅读 · 0 评论 -
HDFS源码解析之验证NameNode是不是RPC的服务端(二)
一、环境准备以及源码导入通过我们上一个篇章的学习,我们已经可以简单的知道我们HDFS是如何远程通信的,那么我们接下来就可以进入阅读源码了我们采用的是我们的场景驱动的方式所以我们接下来,只看NameNode的启动流程,这时我们应该从哪里入手呢,阅读源码我们需要找到程序的入口是吧,那么这个时候,NameNode的入口是什么呢,上一篇博客已经讲解了我们的Hadoop RPC 那么,我们是否还记得,在我们安装NameNode的时候肯定会使用JPS来看看我们的NameNode进程是否启动起来,这个时候我们是否原创 2020-07-04 13:45:36 · 406 阅读 · 0 评论 -
HDFS源码解析之HadoopRPC(一)
一、我们应该如何去阅读一个大数据开源框架的源码1. 阅读源码的思路1.1 掌握其网络通信架构我们应该都知道在大数据领域中,包含了很多大数据框架,例如Spark,Hadoop,Kafka,Zookeeper,Flink等,在这些组件当中,他们都是分布式的,我们想要阅读他们源码的时候,必须要明白分布式系统之间,他们是如何交互的,例如Spark之前采用的是akka,现在采用的Netty,kafka采用的是NIO等,也就不一一列举了,我们阅读源码的时候,如果不了解他们内部是如何通信的,那么我们根本无法知道他们原创 2020-07-04 10:53:47 · 281 阅读 · 0 评论