`

Hadoop-RPC实现机制

阅读更多
  • 整体结构:在IPC包中,最重要的3个类是Server,Client和RPC,它们具有层次化的结构。
  1. RPC类是对Server、Client的具体化。在RPC类中规定,客户程序发出请求调用时,参数类型必须是Invocation;从服务器返回的值类型必须是ObjectWritable。为了加强理解,可以查看测试类TestIPC。在那里,规定的参数类型与返回值类型都是LongWritable。
  2. RPC类是对Server、Client的包装,简化用户的使用。如果一个类需充当服务器,只需通过RPC类的静态方法getServer获得Server实例,然后start。同时此类提供协议接口的实现。如果一个类充当客户端,可以通过getProxy或者waitForProxy获得一个实现了协议接口的proxy object,与服务器端交互。为了加强理解,可以查看测试类TestRPC,在那里,实现的协议接口为TestProtocol。
  • Server类
  1. 启动Listener进程。如果收到需要建立连接的请求,将建立连接,然后在上面捕获读操作的命令。收到命令之后,将把解析客户端发过来信息的工作委派给Connection。Connection把信息封装到Call对象中,放入队列中,待Handler处理。
  2. 启动指定数目的Handler线程,处理客户端对指定方法调用的请求,然后把结果返回给客户端。
  • Client类
  1. 用Call封装好调用信息,然后借助从连接池中取出的Connection向服务器端发送,等待结果。如果到指定服务器的Connection不存在,将马上建立。Connection线程读取服务器方法调用的返回信息。完成之后,通知主线程。
  • RPC类
  1. 对外使用的窗口,隐藏了Server和Client的背后细节,验证RPC协议版本。
分享到:
评论

相关推荐

    hadooprpc机制&&将avro引入hadooprpc机制初探

    RPCServer实现了一种抽象的RPC服务,同时提供Call队列。RPCServer作为服务提供者由两个部分组成:接收Call调用和处理Call调用。接收Call调用负责接收来自RPCClient的调用请求,编码成Call对象后放入到Call队列中。这...

    新版Hadoop视频教程 段海涛老师Hadoop八天完全攻克Hadoop视频教程 Hadoop开发

    06-hadoop中的RPC框架实现机制.avi 07-hadoop中的RPC应用实例demo.avi 08-hdfs下载数据源码跟踪铺 垫.avi 09-hdfs下载数据源码分析-getFileSystem.avi 10-hdfs下载数据源码分析-getFileSystem2.avi 第三天 ...

    hadoop段海涛老师八天实战视频

    06-hadoop中的RPC框架实现机制.avi 07-hadoop中的RPC应用实例demo.avi 08-hdfs下载数据源码跟踪铺垫.avi 09-hdfs下载数据源码分析-getFileSystem.avi 10-hdfs下载数据源码分析-getFileSystem2.avi 第三天 ...

    hadoop技术内幕 深入解析mapreduce架构设计与实现原理

    《Hadoop技术内幕:深入解析MapReduce架构设计与实现原理》由Hadoop领域资深的实践者亲自执笔,首先介绍了MapReduce的设计理念和编程模型,然后从源代码的角度深入分析了RPC框架、客户端、JobTracker、TaskTracker和...

    java_RPC_hadoop.zip

    java模拟hadoop的RPC(Remote Procedure Call)通讯,连接和心跳

    Hadoop技术内幕 深入理解MapReduce架构设计与实现原理 扫描版 带简单书签

    《Hadoop技术内幕:深入解析MapReduce架构设计与实现原理》由Hadoop领域资深的实践者亲自执笔,首先介绍了MapReduce的设计理念和编程模型,然后从源代码的角度深入分析了RPC框架、客户端、JobTracker、TaskTracker和...

    hadoop技术内幕 深入解析mapreduce架构设计与实现原理.(董西成).全本

    《Hadoop技术内幕:深入解析MapReduce架构设计与实现原理》由Hadoop领域资深的实践者亲自执笔,首先介绍了MapReduce的设计理念和编程模型,然后从源代码的角度深入分析了RPC框架、客户端、JobTracker、TaskTracker和...

    hadoop技术内幕 深入解析mapreduce架构设计与实现原理.(董西成).全本1

    《Hadoop技术内幕:深入解析MapReduce架构设计与实现原理》由Hadoop领域资深的实践者亲自执笔,首先介绍了MapReduce的设计理念和编程模型,然后从源代码的角度深入分析了RPC框架、客户端、JobTracker、TaskTracker和...

    hadoop技术内幕

    《Hadoop技术内幕:深入解析MapReduce架构设计与实现原理》由Hadoop领域资深的实践者亲自执笔,首先介绍了MapReduce的设计理念和编程模型,然后从源代码的角度深入分析了RPC框架、客户端、JobTracker、TaskTracker和...

    《Hadoop技术内幕:深入解析MapReduce架构设计与实现原理》

    《Hadoop技术内幕:深入解析MapReduce架构设计与实现原理》由Hadoop领域资深的实践者亲自执笔,首先介绍了MapReduce的设计理念和编程模型,然后从源代码的角度深入分析了RPC框架、客户端、JobTracker、TaskTracker和...

    Hadoop技术内幕_深入解析MapReduce架构设计与实现原理

    然后从源代码的角度深入分析了RPC框架、客户端、JobTracker、TaskTracker和Task等MapReduce运行时环境的架构设计与实现原理,最后从实际应用的角度深入讲解了Hadoop的性能优化、安全机制、多用户作业调度器和下一代...

    Hadoop技术内幕:深入解析MapReduce架构设计与实现原理 (大数据技术丛书) - 董西成著 mobi+epub+azw3

    hadoop 领域资深的实践者亲自执笔,首先介绍了 mapreduce 的设计理念和编程模型,然后从源代码的角度深入分析了 rpc 框架、客户端、jobtracker、tasktracker 和 task 等 mapreduce 运行时环境的架构设计与实现原理,...

    Hadoop技术内幕:深入解析MapReduce架构设计与实现原理

    然后从源代码的角度深入分析了RPC框架、客户端、JobTracker、TaskTracker和Task等MapReduce运行时环境的架构设计与实现原理,最后从实际应用的角度深入讲解了Hadoop的性能优化、安全机制、多用户作业调度器和下一代...

    Hadoop技术内幕:深入理解MapReduce架构设计与实现原理.pdf

    Hadoop 领域资深的实践者亲自执笔,首先介绍了 MapReduce 的设计理念和编程模型,然后从源代码的角度深入分析了 RPC 框架、客户端、JobTracker、 TaskTracker 和 Task 等 MapReduce 运行时环境的架构设计与实现原理...

    Hadoop技术内幕

    《Hadoop技术内幕:深入解析MapReduce架构设计与实现原理》由Hadoop领域资深的实践者亲自执笔,首先介绍了MapReduce的设计理念和编程模型,然后从源代码的角度深入分析了RPC框架、客户端、JobTracker、TaskTracker和...

    Java中的动态代理模式

    DataNode端是通过获得NameNode的代理,通过该代理和NameNode进行通信的,为了更好的分析hadoop的RPC机制我想先分析一下动态代理是怎么实现。下面是动态代理的简单的代码实现,我们一起来看看吧。  代码如下: ...

    hadoop技术内幕.epub

    然后从源代码的角度深入分析了RPC框架、客户端、JobTracker、TaskTracker和Task等MapReduce运行时环境的架构设计与实现原理,最后从实际应用的角度深入讲解了Hadoop的性能优化、安全机制、多用户作业调度器和下一代...

    hdfs源码.zip

    2.3 Hadoop RPC实现 63 2.3.1 RPC类实现 63 2.3.2 Client类实现 64 2.3.3 Server类实现 76 第3章 Namenode(名字节点) 88 3.1 文件系统树 88 3.1.1 INode相关类 89 3.1.2 Feature相关类 102 3.1.3 ...

Global site tag (gtag.js) - Google Analytics