Hadoop学习<四>--HDFS的RPC通信原理总结

这里先写下自己学习RPC的笔记总结,下面将详细介绍学习过程:

RPC(remote procedure call)

  不同java进程间的对象方法的调用。
  一方称作服务端(server),一方称作客户端(client)。
  server端提供对象,供客户端调用的,被调用的对象的方法的执行发生在server端。
   
 RPC是hadoop框架运行的基础。
通过rpc小例子获得的认识?
1. 服务端提供的对象必须是一个接口,接口extends VersioinedProtocal

2. 客户端能够的对象中的方法必须位于对象的接口中。

查看一个基类或者接口的派生类或实现类---鼠标指向类名,Ctrl + T  ;

查看函数的调用关系(找到所有调用该方法的函数)--Ctrl + Alt + H (ubuntu系统快捷键占用,可以类名右键找open call Hierarchy,结果在控制台输出) ;

快速查找类对象的相关信息 -- Ctrl + O(查找类名的所有成员变量和方法),F3查看类名的定义。

RPC 是远程过程调用(Remote Procedure Call),即远程调用其他虚拟机中运行的 java object。RPC 是一种客户端/服务器模式,那么在使用时包括服务端代码和客户端代码,还有我们调用的远程过程对象。

HDFS 的运行就是建立在此基础之上的。这里通过分析实现一个简单的 RPC 程序来分析HDFS 的运行机理。

1.首先定义远程调用类的接口,接口继承的 VersionedProtocal,是hadoop 的 RPC 的接口,所有的 RPC 通信必须实现这个一接口,用于保证客户端和服务端的端口一致。服务端被调用的类必须继承这个接口 VersionedProtocal

package com.RPC;

import org.apache.hadoop.ipc.VersionedProtocol;
public interface MyBizable extends VersionedProtocol{
    //定义抽象类方法hello
	public abstract String hello(String name);
}
2.然后编写远程调用类,实现这个接口MyBizable,这里面有两个方法被实现,一个就是 hello方法,另一个是 getProtocalVersion 方法。

package com.RPC;

import java.io.I
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值