Hadoop源码之我见--MapReduce部分(二)--RPC调用接口
来源:互联网 发布:sql安装重启失败 编辑:程序博客网 时间:2024/05/22 15:21
Job类中实现了InvocationHandler 接口的是 Invoker, 这种语法是java语言对代理模式的一种支持,最终对对象的调用都会成为对代理
的调用。下面看看真正的处理代理的代码Invoker。
其中factory的默认是
<property> <name>hadoop.rpc.socket.factory.class.default</name> <value>org.apache.hadoop.net.SocksSocketFactory</value> </property>
client是调用ClientCach类的getClient方法得到,这个类是对Client的一个缓存。之后调用client.call(...)来远程调用改方法,
其中最重要的参数是实现了Writable接口的类Invocation的一个实例,client.call(...)方法如下所示
Connection是一个线程,用来进行socket连接和send(call)的,这里可以看到大师写的代码是严谨的,值得学习。在call.wait之后,
调用interrupt将线程中止。
sendParams会调用NetUtils类的connect方法去连接socket的输出流,建立的tcp连接是禁止Nagle算法的,也就是NO_DELAY,方法是
- Hadoop源码之我见--MapReduce部分(二)--RPC调用接口
- Hadoop源码之我见--MapReduce部分(一)--Job类
- Hadoop源码分析之二(RPC机制之Call处理)
- Hadoop源码分析之二(RPC机制之Call处理)
- hadoop之hdfs的java接口调用和hadoop的rpc调用
- Hadoop RPC源码研究----客户端部分
- Hadoop源码之RPC机制
- [Hadoop源码解读](二)MapReduce篇之Mapper类
- [Hadoop源码解读](二)MapReduce篇之Mapper类
- [Hadoop源码解读](二)MapReduce篇之Mapper类
- [Hadoop源码解读](二)MapReduce篇之Mapper类
- [Hadoop源码解读](二)MapReduce篇之Mapper类
- [Hadoop源码解读](二)MapReduce篇之Mapper类
- [Hadoop源码解读](二)MapReduce篇之Mapper类
- [Hadoop源码解读](二)MapReduce篇之Mapper类
- Hadoop学习之MapReduce(二)
- Hadoop学习之MapReduce(二)
- 浅析Hadoop(二)之MapReduce
- Oracle 10g Command set命令集合
- android 平铺背景
- 选择
- 实现千万级数据分页的存储过程
- Web前端开发工程师必读的15个设计博客
- Hadoop源码之我见--MapReduce部分(二)--RPC调用接口
- What makes you different?
- Hadoop基本操作
- 要学多少编程知识才能成为一个合格的程序员?
- Extjs的TreePanel
- VS自动代码整理
- MyBatis(iBatis)入门示例!!!
- 关于优爱风格
- VI常用命令