hadoop(七) RPC

作者: 文子轩 | 来源:发表于2018-02-26 16:34 被阅读9次

上节课我们一起学习了如何将Hadoop与Java程序相结合,这节我们共同来学习RPC请求及应用。首先看一下RPC的定义及原理,如下图所示,我们也可以这样简单地理解RPC:RPC就是不同进程间的方法调用。

image

** 接下来我们用Java程序和RPC相结合来更好的理解RPC。**

** 首先我们需要定义一个接口类,这个接口类需要由服务端来实现,如下图所示**

image

** 接下来我们定义RPCServer,如下图所示**

image
      **接下来我们来看一下RPCClient端代码,如下图所示**

image

** 怎么个玩法呢?首先我们启动RPCServer程序,接着我们再运行RPCClient端的main方法,我们会发现在控制台会输出Hi-tom的信息,说明我们客户端调用服务端内部的方法确实调用成功了!**

** 接下来我们来玩一下让Windows系统和Linux系统之间通过RPC协议通信,我们把RPCClient端打包成jar包,打包的过程如下图所示,打包第一步:在工程上右键,点击Export**

image

** 打包jar第二步:我们点击上图的Export之后会弹出如下窗口,我们选择Java下面的Runnable JAR file,然后点击下一步。如下图所示。**

image

** 打包jar第三步:我们进入如下图所示界面我们Launch configuration这一栏选择“RPCClient - Hadoop”,Export destination(打包到本地的地址)我把它打包到了我本地E盘的根目录下,起名为RPCClient.jar。然后点击Finish。**

image

** 我们把打好的jar包上传到Linux系统root目录下。我们在执行RPCClient.jar之前先启动RPCServer,并在sayHi方法中打断点。这样我们可以更明显的看到Linux上的客户端是否真的调用成功了Windows系统上的Server内的方法。**

** 启动完Server之后我们在Linux系统上执行RPCClient.jar,如下图所示,执行jar的命令是:java -jar RPCClient.jar,执行jar之后我们发现方法被卡住了,一直在等待返回结果。**

image

** 这时我们再来看一下Windows系统的Server端的断点情况,如下图所示,我们Linux系统运行Client之后确实调用到了服务端的sayHi方法!,Linux系统中之所以在等待返回结果,就是因为这里我们打了断点,这时我们让服务端的方法执行完。**

image

** 我们再反过来看一下Linux系统上是否有了返回值,我们发现这时信息当中打印出了Hi-tom的信息,说明Linux系统确实通过PRC协议实现了与Windows系统之间的连通!**

image

相关文章

  • hadoop(七) RPC

    上节课我们一起学习了如何将Hadoop与Java程序相结合,这节我们共同来学习RPC请求及应用。首先看一下RPC的...

  • Hadoop RPC

    Hadoop RPC Hadoop作为分布式存储系统,为了实现各节点间的通信和交互,所以需要实现一套这样的机制.R...

  • Hadoop RPC

    Hadopp作为分布式存储系统,为了便于各个节点之间的通信和交互,基于IPC进程间通信模型,实现了一套高效的轻量级...

  • Hadoop HDFS 2.7.2 升级 2.8.5 的注意事项

    几个关键点 在 Hadoop-2.7.2 和 Hadoop-2.8.5 中 Hadoop RPC 版本一致,都为9...

  • 基于RPC的简单C/S服务器代码

    定义RPC协议 IProxyProtocol类 Hadoop中所有自定义RPC接口都需要继承VersionedPr...

  • HBase里面的RPC

    社区版HBase-1.0.0里面的RPC跟hadoop中的RPC差不多,也是用了protobuffer、n...

  • Hadoop源码分析-Hadoop RPC使用

    本文使用一个简单示例说明 Hadoop RPC的使用 1. RPC 定义 百度百科:RPC是远程过程调用(Remo...

  • Hadoop RPC服务

    多个Reducer操作同一张表可能出现的错误 假设有两个Reducer,R1和R2,都需要操作MySQL的Dime...

  • JDK动态代理-超详细源码分析

    本文已授权Java知音公众号独家发布 前言: 最近学习Hadoop系列的知识,免不了和RPC打交道,而RPC又使用...

  • 文件系统

    2020很想干的事就是把Hadoop的hdfs的代码看一遍,前期主要是看了Hadoop RPC部分,后续会将这块的...

网友评论

    本文标题:hadoop(七) RPC

    本文链接:https://www.haomeiwen.com/subject/pwvyxftx.html