1.首先,我看的是hadoop1.2.1 这个里边,有点奇怪ClientDatanodeProtocol的versionID是4,但是InterDatanodeProtocol的versionID是3, 而且这两个还不再同一个包下,InterDatanodeProtocol位于org.apache.hadoop.hdfs.server.protocol下,而ClientDatanodeProtocol位于org.apache.hadoop.hdfs.protocol下 2.ClientDatan…
VersionedProtocol协议是Hadoop的最顶层协议接口的抽象:5--3--3共11个协议,嘿嘿 1)HDFS相关 ClientDatanodeProtocol:client与datanode交互的接口,操作不多,只有一个block恢复的方法.那么,其它数据请求的方法呢?client与datanode主要交互是通过流式的socket实现,源码在DataXceiver,在这里先不说了: ClientProtocol:client与Namenode交互的接口,所有控制流的请求均在这里,如…
1.package org.apache.hadoop.mapred这四个协议都在这个包下. 2.从最简单的AdminOperationsProtocol看, void refreshQueues() throws IOException; void refreshNodes() throws IOException; boolean setSafeMode(JobTracker.SafeModeAction safeModeAction)  throws IOException; 3.相对于h…
1.ClientProtocol这个玩意的版本号是61L:DatanodeProtocol 是26L:NamenodeProtocol是 3L;RefreshAuthorizationPolicyProtocol是1L,RefreshUserMappingsProtocol是1L, 好了,列举这玩意有什么用,大家也看到了,其实,最经常变化的是ClientProtocol,然后是DatanodeProtocol,后边那两个基本没动过,嘿嘿 人家写代码也不是随便来的,有顺序的 public clas…
Phase 0: Make a plan You must first decide what steps you're going to have in your process. It sounds simple (in fact, all of this sounds simple), and yet people often don't make this decision before they start coding. If your plan is "let's jump in…
Hadoop版本Hadoop2.6 RPC主要分为3个部分:(1)交互协议(2)客户端 (3)服务端 (1)交互协议 协议:把某些接口和接口中的方法称为协议,客户端和服务端只要实现这些接口中的方法就可以进行通信了 Hadoop RPC中VersionedProtocol是所有协议的父类,只定义了两个方法. package org.apache.hadoop.ipc; import java.io.IOException; /** * Superclass of all protocols tha…
http://wenku.baidu.com/link?url=R-QoZXhc918qoO0BX6eXI9_uPU75whF62vFFUBIR-7c5XAYUVxDRX5Rs6QZR9hrBnUdMdVHNSHdjYtv7i28lCSng1iuWO620ML_wqJZYFge Hadoop源代码分析(一) 关键字: 分布式云计算 Google的核心竞争技术是它的计算平台.Google的大牛们用了下面5篇文章,介绍了它们的计算设施. GoogleCluster:http://research.g…
DataNode对ClientDatanodeProtocol.InterDatanodeProtocol两个协议接口进行了实现,通过ipc::Server向Client.其它DN提供RPC服务(参见Hadoop IPC): 同时DataNode依赖DatanodeProtocol向NN请求RPC服务,RPC中包含DatanodeRegistration信息,以备NN对DN进行标识及区分: DataNode通过DataXceiverServer向Client或其它DN提供数据服务(数据块的读写)…
Hadoop源代码分析(一) 关键字: 分布式云计算 Google的核心竞争技术是它的计算平台.Google的大牛们用了下面5篇文章,介绍了它们的计算设施. GoogleCluster:http://research.google.com/archive/googlecluster.html Chubby:http://labs.google.com/papers/chubby.html GFS:http://labs.google.com/papers/gfs.html BigTable:ht…
在分析DataNode时, 因为DataNode上保存的是数据块, 因此DataNode主要是对数据块进行操作. A. DataNode的主要工作流程1. 客户端和DataNode的通信: 客户端向DataNode的`数据块读写`, 采用TCP/IP流接口(DataXceiver)进行数据传输 2. 客户端在检测到DataNode异常, 主动发起的`数据块恢复`, 客户端会通过ClientDatanodeProtocol接口采用RPC调用的方式和DataNode通信. 3. `数据块替换和拷贝`…