标签:
RPC是Hadoop的基础组件,提供分布式环境下的对象调用功能。之前用了三天时间分析与测试RPC,目的是想弄清楚它的整个运行机制。RPC,专业名称为远程过程调用。RPC协议比SOAP更加精简,通过RPC我们可以从网络上的计算机请求服务,而不需要了解底层网络协议。Hadoop底层的交互都是通过RPC进行的。例如Client、DataNode、NameNode之间的通讯全靠它。我们操作HDFS的时候,使用的是FileSystem类,它的内部有个DFSClient对象,这个对象负责与NameNode打交道。在运行时,DFSClient在本地创建一个NameNode的代理,然后就操作这个代理,这个代理就会通过网络,远程调用到NameNode的方法,返回相应的值。
当然,这只是RPC实现的一个非常基础性的简单原理,便于理解。真实的RPC框架也是基于此原理,只不过在此基础上增加了许多优化和容错的功能!
基于以上工作原理,我在Github上上传了一个利用Hadoop RPC框架进行服务调用的小程序,结合起来可以更深刻的理解它的原理和应用。
下载地址:https://github.com/Jerry-Fu/HadoopRpcApplication/
标签:
原文地址:http://blog.csdn.net/u010010428/article/details/51345693