浅析NameNode/DataNode/SecondaryNameNode源码注释
NameNode源码注释
/*********************************************************** NameNode serves as both directory namespace manager and* "inode table" for the Hadoop DFS. There is a single NameNode* running in any DFS deployment. (Well, except when there* is a second backup/failover NameNode, or when using federated NameNodes.)** The NameNode controls two critical tables:* 1) filename->blocksequence (namespace)* 2) block->machinelist ("inodes")** The first table is stored on disk and is very precious.* The second table is rebuilt every time the NameNode comes up.** 'NameNode' refers to both this class as well as the 'NameNode server'.* The 'FSNamesystem' class actually performs most of the filesystem* management. The majority of the 'NameNode' class itself is concerned* with exposing the IPC interface and the HTTP server to the outside world,* plus some configuration management.** NameNode implements the* {@link org.apache.hadoop.hdfs.protocol.ClientProtocol} interface, which* allows clients to ask for DFS services.* {@link org.apache.hadoop.hdfs.protocol.ClientProtocol} is not designed for* direct use by authors of DFS client code. End-users should instead use the* {@link org.apache.hadoop.fs.FileSystem} class.** NameNode also implements the* {@link org.apache.hadoop.hdfs.server.protocol.DatanodeProtocol} interface,* used by DataNodes that actually store DFS data blocks. These* methods are invoked repeatedly and automatically by all the* DataNodes in a DFS deployment.** NameNode also implements the* {@link org.apache.hadoop.hdfs.server.protocol.NamenodeProtocol} interface,* used by secondary namenodes or rebalancing processes to get partial* NameNode state, for example partial blocksMap etc.**********************************************************/
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. Each DataNode communicates* regularly with a single NameNode. It also communicates* with client code and other DataNodes from time to time.** DataNodes store a series of named blocks. The DataNode* allows client code to read these blocks, or to write new* block data. The DataNode may also, in response to instructions* from its NameNode, delete blocks or copy blocks to/from other* DataNodes.** The DataNode maintains just one critical table:* block-> stream of bytes (of BLOCK_SIZE or less)** This info is stored on a local disk. The DataNode* reports the table's contents to the NameNode upon startup* and every so often afterwards.** DataNodes spend their lives in an endless loop of asking* the NameNode for something to do. A NameNode cannot connect* to a DataNode directly; a NameNode simply returns values from* functions invoked by a DataNode.** DataNodes maintain an open server socket so that client code * or other DataNodes can read/write data. The host/port for* this server is reported to the NameNode, which then sends that* information to clients or other DataNodes that might be interested.***********************************************************/
SecondaryNameNode源码注释
/*********************************************************** The Secondary NameNode is a helper to the primary NameNode.* The Secondary is responsible for supporting periodic checkpoints * of the HDFS metadata. The current design allows only one Secondary* NameNode per HDFs cluster.** The Secondary NameNode is a daemon that periodically wakes* up (determined by the schedule specified in the configuration),* triggers a periodic checkpoint and then goes back to sleep.* The Secondary NameNode uses the NamenodeProtocol to talk to the* primary NameNode.***********************************************************/
浅析NameNode/DataNode/SecondaryNameNode源码注释相关推荐
- 基于stm32、0.96寸OLED实现的贪吃蛇小游戏(详细源码注释)
简介:本实验基于stm32最小系统.0.96寸OLED(68*128)和摇杆实现一个经典的贪吃蛇小游戏.项目源码地址:点击下载. 硬件设计: 普通摇杆,0.96寸OLED 单色屏幕(SPI协议通讯), ...
- 基于stm32、0.96寸OLED实现的俄罗斯方块小游戏(详细源码注释)
概述:本实验基于stm32最小系统.0.96寸OLED(68*128)和摇杆实现一个经典的俄罗斯方块小游戏.项目源码地址:点击下载. 硬件要求: 普通摇杆,两个电位器和一个开关组成,左右摇动控制一个电 ...
- java-List集合的源码分析(数据结构方面,源码注释方面),迭代器快速失败机制
List实现了Collection接口,产生三个子类:ArrayList,LinkedList,Vector 文章包含解释方面: 数据结构方面, 源码注释方面&迭代器快速失败机制 方面1-基于 ...
- 浅析negroni-gzip 过滤器的源码
源码来源:negroni-gzip gzip能对数据进行压缩,从而使服务端向客户端传输数据的速度加快.以下对源码的分析是基于源码注释加上自己在谷歌上搜索入header和Sec-WebSocket-Ke ...
- ucosiii源码注释
源码注释看↓ uC/OS-III - 标签 - 飞起的小田 - 博客园https://www.cnblogs.com/tianxxl/tag/uC%2FOS-III/ 自己的一些理解: 1.keil ...
- 【机器学习】word2vec学习笔记(三):word2vec源码注释
1. word2vec地址 官网地址:https://code.google.com/archive/p/word2vec/ GitHub地址:https://github.com/tmikolov/ ...
- eCryptfs源码注释(2)
README 此文档没有上传至网络,如果有人对此感兴趣可以发送邮件至wlxing@yahoo.com中,说明情况(不能作为商业用途!),谢谢. 转载或者引用请注明(见封面信息),并通知至邮件wlxin ...
- WebBench压力测试工具(详细源码注释+分析)
WebBench压力测试工具(详细源码注释+分析) 本文适合人群:对WebBench实现感兴趣的人 WebBench原理: Linux下使用的服务器压力测试工具,利用fork建立多个子进程,每个子进程 ...
- Qt之天气预报——界面优化篇(含源码+注释)
一.界面优化效果 下方为界面优化完成和优化前的效果对比. 优化前: 优化后: 二.优化内容 添加标题栏 添加图片(图图标素材源自阿里巴巴矢量图标库) 更新UI内容(微调大小.布局比例) 添加鼠标事件函 ...
最新文章
- C++11中std::future的使用
- GitLab 上市,市值高达 149 亿美元!GitHub 的头号劲敌来了
- 这几道Redis面试题都不懂,怎么拿offer?
- Win7下U盘安装Ubuntu14.04双系统步骤详解 | 浏览:42144 | 更新:2014-05-24 18:09 | 标
- php ci 参数,CI如何写一个控制器,并传递参数正常解析访问?
- SAP CRM呼叫中心里多重Contact person confirm的处理
- grouplens上的movielens数据集_ItemCF算法的Python实现,数据基于MovieLens
- 使用AspectJ审计Spring MVC Webapp。 第2部分
- 零拷贝机制在文件传输中的使用手法
- 第二部分_搭建Java Web开发环境与配置Tomcat服务器JSP详解
- Codeforces Round #368 (Div. 2) C. Pythagorean Triples
- activity启动流程与任务执行
- c语言算法骑士,[算法]C语言实现 骑士旅游(递归)
- c2c网站开店的流程图_C2C电子商务网站的交易流程
- 三菱plc控制步进电机实例_自动化工程师必掌握的PLC控制步进电机逻辑思路
- php加速模块cpan模块,查看perl模块和cpan模块介绍
- springboot集成阿里云直播,低延时直播
- Nginx服务器---正向代理
- 浏览器与web服务器的交互过程
- SpringBoot 整合mybatis,mybatis-plus
热门文章
- 兰州大学第一届『飞马杯』程序设计竞赛 - ★★平形四边行★★(鸽巢原理+暴力)
- 2020CCPC(威海) - Caesar Cipher(线段树+哈希)
- 洛谷 - P4783 【模板】矩阵求逆(高斯消元求逆矩阵)
- 2019ICPC(上海) - Counting Sequences I(dfs打表)
- python基础语法-异常处理
- 【数据结构】C++单链表实现多项式加法(直接输入多项式)
- #模拟触手机屏幕_2部手机经受埃隆马斯克火焰枪炙烤:iPhoneXS最终胜出
- 决策树之C4.5算法
- 17.默认值Default.rs
- 5.OD-条件断点、条件记录断点