`
duming115
  • 浏览: 114400 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Hadoop4.3 源码笔记

阅读更多
写在最前:
  1. http://www.swazzy.com/docs/hadoop/index.php可以输入hadoop类, 查看它的UML关系图.
  2. https://issues.apache.org/jira/browse/MAPREDUCE-279 Hadoop Map-Reduce 2.0(Yarn)的架构文档,详细说明等.

2013.07.14 LeaseManager--文件写入时中断, 各数据节点需要进行那些操作, 找到写入数据最少的节点, 提交到NameNode, 详细看类说明.

2013.08.08 HDFS portion of ZK-based FailoverController 基于zookeeper的自切换Namenode的active与standy状态, https://issues.apache.org/jira/browse/HDFS-2185 有详细的设计文档.这里有一篇翻译文档, http://blog.csdn.net/chenpingbupt/article/details/7922042, 角色像下面:
  个人理解: 整个流程就像控制多个坦克打仗,攻击一个目标有一辆坦克发炮就行, 如果接收指令的坦克没发炮, 那么就要由其它备用坦克来打,HealthMonitor就像是坦克操作员, 负责检查坦克是不是可以打炮, ActiveStandbyElector就像时刻将坦克现状发送给指挥系统, 接收系统指令, 把它转给指挥官ZKFailoverController(4.3版本为abstract类, 具体实现DFSZKFailoverController与MRZKFailoverController), 由指挥官来决定来发炮与否及将结果或等待状态由ActiveStandbyElector回馈给指挥系统.

2013.08.09 INodeDirectory中children使用new ArrayList<INode>(5), 因为INode实现Comparable<byte[]>接口, compareTo(byte[] .)对比INode的name(getBytes("UTF8")), 向dir下加入增加文件时, 调用INodeDirectory.addChild()方法, 利用Collections中的static <T> int binarySearch(List<? extends Comparable<? super T>> list, T key) 查找要插入的下标, binarySearch的前提是list已经sort过.
推导:name名称不宜长, 目录下内容不宜多, 查找特定目录下耗时log(o).
疑问:INodeDirectory child为什么用List而不用Set呢?

2013.08.10
Understanding Hadoop Clusters and the Network:
http://bradhedlund.com/2011/09/10/understanding-hadoop-clusters-and-the-network/从将文件写入到hdfs开始, 准备写文件(存放数据应该考虑的拓扑结构(Rack Awareness), 写文件过程中, 写完后, Job 运行Map/Reduce, 因为新增服务器致使的数据不均衡及均衡工具.
Writing Files to HDFS, ,
Hadoop Rack Awareness, ,
Preparing HDFS Writes, ,
HDFS Write Pipeline, ,
HDFS Pipeline Write Success, ,
HDFS Multi-block Replication Pipeline, ,
NameNode Heartbeats, ,
Re-replicating Missing Replicas(有数据复本丢失时), ,
Client Read from HDFS, ,
Data Node reads from HDFS, ,
Map Task, ,
What if Map Task data isn’t local? ,
Reduce Task computes data received from Map Tasks, ,
Unbalanced Hadoop Cluster, ,
Hadoop Cluster Balancer, ,
分享到:
评论

相关推荐

    hadoop-2.8.1源码

    《深入剖析Hadoop 2.8.1源码:分布式系统的智慧结晶》 Hadoop,作为开源的大数据处理框架,自2006年诞生以来,一直是大数据领域的重要支柱。其2.8.1版本是Hadoop发展的一个关键节点,为用户提供了更稳定、高效的...

    Hadoop源码分析(完整版)

    Hadoop源码分析是深入理解Hadoop分布式计算平台原理的起点,通过源码分析,可以更好地掌握Hadoop的工作机制、关键组件的实现方式和内部通信流程。Hadoop项目包括了多个子项目,其中最核心的是HDFS和MapReduce,这两...

    win 7 64上编译 Hadoop 2.7.3 源码

    ### Win 7 64位系统上编译Hadoop 2.7.3源码的知识点 #### 一、背景介绍 在当前大数据处理技术快速发展的背景下,Hadoop作为主流的大数据处理框架之一,被广泛应用于各类场景之中。对于开发者来说,能够熟练地在自己...

    hadoop2.7.3源码包,hadoop2.7.3zip源码包

    这个源码包是针对这个特定版本的,包含了所有相关的Java源代码,使得开发者可以深入理解Hadoop的工作原理,进行定制化开发或者调试。 Hadoop主要由两个主要组件构成:Hadoop Distributed File System (HDFS)和...

    hadoop2.7.2源码包

    源码包提供了一窥Hadoop内部运作机制的机会,对于开发者、研究者以及想要深入理解Hadoop工作原理的人来说极具价值。在Hadoop 2.7.2的源码中,我们可以探索以下几个关键知识点: 1. **HDFS(Hadoop Distributed File...

    实战hadoop中的源码

    【标题】"实战hadoop中的源码"涵盖了在大数据处理领域深入理解并应用Apache Hadoop的核心技术。Hadoop是开源的分布式计算框架,它允许在大规模集群上存储和处理海量数据。通过研究Hadoop的源码,开发者可以深入了解...

    hadoop 2.5.2 源码

    Hadoop 2.5.2源码分析 Hadoop是一个开源框架,主要用于处理和存储大量数据,它由Apache软件基金会开发并维护。Hadoop 2.5.2是Hadoop发展过程中的一个重要版本,它引入了许多改进和优化,旨在提高系统的稳定性和性能...

    Hadoop 源码编译所需软件

    本文将深入探讨在编译Hadoop CDH源码时所需的软件及其重要性。 首先,我们来看“google-snappy-ea660b5”。Snappy是由Google开发的一个高效的数据压缩库,它主要关注的是高速度而非最高压缩率。在Hadoop中,Snappy...

    hadoop重要源码包和jar包

    Hadoop是大数据处理领域的一个核心框架,其源码和jar包对于理解其内部工作机制和进行二次开发至关重要。本文将深入探讨Hadoop的核心组件、模块结构、主要类库以及如何使用jar包进行分布式计算。 首先,Hadoop由两个...

    hadoop2.6.0源码和eclipse插件

    源码分析对于理解Hadoop的工作原理、进行定制化开发以及排查问题至关重要。 在给定的压缩包中,`hadoop-2.6.0-src.tar.gz`包含了Hadoop 2.6.0的完整源代码。开发者可以通过解压这个文件,用文本编辑器或IDE(如...

    Hadoop及源码.7

    "hadoop-book-master.zip"可能是一个包含更多Hadoop书籍或教程源代码的压缩文件,其中可能有详细的概念解释、实例代码和项目实践,对于深入学习Hadoop的源码和实现原理非常有价值。 总之,Hadoop是大数据处理的关键...

    Hadoop2.7.3源码Eclipse工程

    【标题】"Hadoop2.7.3源码Eclipse工程"揭示了这个压缩包包含的是Hadoop 2.7.3版本的源代码,并且是为Eclipse IDE准备的项目工程,便于开发者在Eclipse环境中进行源码级别的学习、调试和开发。 【描述】中的信息说明...

    hadoop集群安装笔记

    "Hadoop集群安装笔记" Hadoop集群安装笔记是一篇详细的安装指南,旨在帮助新手快速搭建Hadoop学习环境。以下是该笔记中的重要知识点: Hadoop集群安装目录 在安装Hadoop集群之前,需要准备好安装环境。安装环境...

    centos7 64位下编译Hadoop2.7.2源码库文件

    以下是关于如何在CentOS 7 64位系统上编译Hadoop 2.7.2源码库文件的详细步骤及相关的知识点: 1. **环境准备**:首先确保你的系统安装了必要的开发工具,如GCC、Java开发工具包(JDK)、Maven和Git。可以使用以下...

    Hadoop源码编译 PDF 下载

    对于Java开发者来说,深入理解Hadoop的源码并进行编译是非常有益的,可以帮助我们更好地利用这个强大的工具,同时也能提升自身的编程技能。本文将详细介绍如何编译Hadoop的源码。 首先,编译Hadoop源码需要以下基本...

    hadoop源码编译安装包及安装步骤

    本文将详细介绍如何编译和安装Hadoop源码,确保你能够按照提供的步骤顺利进行。 首先,我们需要了解Hadoop的基本概念。Hadoop是由Apache软件基金会开发的,它基于Java语言,实现了MapReduce编程模型和分布式文件...

    Hadoop rpc源码

    Hadoop rpc源码是从Hadoop分离出的ipc,去掉了认证部分,附录使用文档.使用前请add lib包commons-logging-*.*.*.jar(我用的是1.0.4)和log4j-*.*.*.jar(我的1.2.13) 相关blog post: ...

    Hadoop2.7.1源码(可直接导入Eclipse)

    Hadoop2.7.1源码(可直接导入Eclipse)

    hadoop源码资源归档.zip

    很抱歉,但根据您提供的信息,"hadoop源码资源归档.zip"的压缩文件内容与标签"hadopp"并不匹配。压缩包内的文件名称列表显示的都是法律相关的文档,如法律法规汇编、法考资料、思维导图和模拟试题等,这显然不是...

Global site tag (gtag.js) - Google Analytics