资讯专栏INFORMATION COLUMN

源码级强力分析hadoop的RPC机制

weizx / 1532人阅读

摘要:分析对象版本必备技术点动态代理参考参考网络编程目录一协议二源码分析三源码分析四源码分析分析一协议在分析协议之前,我觉得我们很有必要先搞清楚协议是什么。这种我把它称为底层的通信协议。的机制正是采用了这种架构层次的协议,有一整套作为协议的接口。

分析对象:
Hadoop版本:hadoop 0.20.203.0

必备技术点:
1. 动态代理(参考:http://weixiaolu.iteye.com/blog/1477774)
2. Java NIO(参考:http://weixiaolu.iteye.com/blog/1479656)
3. Java网络编程

目录:
一.RPC协议
二.ipc.RPC源码分析
三.ipc.Client源码分析
四.ipc.Server源码分析

分析:

一.RPC协议

在分析协议之前,我觉得我们很有必要先搞清楚协议是什么。下面我就谈一点自己的认识吧。如果你学过java的网络编程,你一定知道:当客户端发送一个字节给服务端时,服务端必须也要有一个读字节的方法在阻塞等待;反之亦然。 这种我把它称为底层的通信协议。可是对于一个大型的网络通信系统来说,很显然这种说法的协议粒度太小,不方便我们理解整个网络通信的流程及架构,所以我造了个说法:架构层次的协议。通俗一点说,就是我把某些接口和接口中的方法称为协议,客户端和服务端只要实现这些接口中的方法就可以进行通信了,从这个角度来说,架构层次协议的说法就可以成立了(注:如果从架构层次的协议来分析系统,我们就先不要太在意方法的具体实现,呵呵,我相信你懂得~)。

Hadoop的RPC机制正是采用了这种“架构层次的协议”,有一整套作为协议的接口。如图:

 

/ 3 页下一页

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/3738.html

相关文章

  • 大数据安全: Hadoop安全模型演进

    摘要:是最流行的大数据处理平台之一。的兴起也招致了很多批判,并且随着安全专家不断指出其潜在的安全漏洞及大数据的安全风险,使得一直在改进其安全性。自对安全性进行重新设计以来,的安全模型大体上没发生什么变化。 本文译者:吴海星  敏感信息的安全和保护是当今人们最关心的问题之一。进入大数据时代,很多组织都在从各种源头收集数据,进行分析,并基于对海量数据集的分析做出决 策,因此这一过程中的安全问题变得愈发...

    nemo 评论0 收藏0
  • hadoop源码分析系列(六)——org.apache.hadoop.hdfs包之nameNode篇

    摘要:还记录了块的冗余过程中的个状态,提供了检测心跳的线程,冗余过程中的监视器线程安全模式的监视器线程。这个抽象类维护了的权限信息,访问时间,修改时间,使用的的个数和使用的的个数,还有个,用来记录上一级的。类就是监督锁保证及时释放的。 概述: nameNode主要负责管理hdfs中的namespace和inode信息,namenode维护了一个两个关键的列表 1、文件与块的映射(namespace...

    elisa.yang 评论0 收藏0
  • 漫谈千亿数据优化实践:数据倾斜(纯干货)

    摘要:中的数据倾斜主要表现在阶段卡在,一直不能结束。数据倾斜的原理一数据倾斜产生的原因我们以和的使用场景为例。另外千亿级别的数据还会有更多的难点,不仅仅是数据倾斜的问题,这一点在后面也会有专门的分享。 0x00 前言 数据倾斜是大数据领域绕不开的拦路虎,当你所需处理的数据量到达了上亿甚至是千亿条的时候,数据倾斜将是横在你面前一道巨大的坎。 迈的过去,将会海阔天空!迈不过去,就要做好准备:很...

    smartlion 评论0 收藏0
  • Facebook实时Hadoop系统

    摘要:看来是选用了组策略分配的方法,认为多台宕机发生在同一组的概率不大。看法和感想以前我们也曾经讨论过如何在分布式文件系统的基础上搭建一套实时数据分析系统,当时认为如果有成熟的可用的话,这个工作会比较简单。 FACEBOOK发表了一篇名为Apache Hadoop Goes Realtime at Facebook的会议论文 ,介绍了 Facebook 为了打造一个实时的 HBase 系统使用到的...

    n7then 评论0 收藏0
  • [原]如何利用hadoop RPC框架实现和NameNode交互

    摘要:博客原文这篇文章主要介绍如何在已有的框架上,自定义新的方法实现和的交互。在此之前,我们需要准备的源码版本版本中采用了简称作为序列化和反序列化的工具,所以我们在修改源码时需要按照相应规则编写来实现数据的传输。 博客原文:hackershell 这篇文章主要介绍如何在已有的Hadoop RPC框架上,自定义新的方法实现和NameNode的交互。 在此之前,我们需要准备: h...

    silenceboy 评论0 收藏0

发表评论

0条评论

weizx

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<