首页 > 代码库 > Hadoop RPC通信机制
Hadoop RPC通信机制
客户端与服务端都要实现同一个接口Bizable,客户端得到服务端实例代码对象的方法。
服务端需要绑定相关的IP地址、端口。
1.在这里,我们使用Hadoop提供的工具类RPC.Builder,下面就是服务端相关代码
public class RPCServer implements Bizable{
//服务端实现sayHi接口,为客户端提供接口
public String sayHi(String name)
{
return "Hi~" + name;
}
public static void main(String[] args) throws HadoopIllegalArgumentException, IOException {
//启动服务器
Configuration conf = new Configuration();
Server server = new RPC.Builder(conf).setProtocol(Bizable.class).setInstance(new RPCServer()).setBindAddress("192.168.8.100").setPort(9527).build();
server.start();
}
}
2.接口代码如下:
public interface Bizable {
public static final long versionID = 10010;
public String sayHi(String name);
}
3.客户端,需要得到服务端代理对象,通过RPC.getProxy可以得到服务器代码对象
public class RPCClient {
public static void main(String[] args) throws IOException {
//通过RPC得到一个代理对象
Bizable proxyBizable = RPC.getProxy(Bizable.class, 10010, new InetSocketAddress("192.168.8.100", 9527), new Configuration());
String result = proxyBizable.sayHi("Tomcat");
System.out.println(result);
RPC.stopProxy(proxyBizable);
}
}
4.我们先启动服务端,再启动客户端,就可以看到Hi~ Tomcat
Hadoop RPC通信机制
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。