Hadoop的RPC通信------>java实现

来源:互联网 发布:kindle保护套淘宝店铺 编辑:程序博客网 时间:2024/05/17 04:05

一 、服务端编写

(1)RPCServer类 

public class RPCServer implements Bizable{    public  String sayHi(String name){        return "Hi~"+name;    }    public static void main(String[] args) throws Exception {        Configuration conf = new Configuration();        RPC.Server server = new RPC.Builder(conf)                .setProtocol(Bizable.class)                .setInstance(new RPCServer())                .setBindAddress("192.168.19.10")                .setPort(9527)                .build();        server.start();    }}

(2)Bizable接口

public interface Bizable {    public static final long versionID=10010L;    public String sayHi(String name);}

二 、客户端编写

public class RPCClient {    public static void main(String[] args) throws Exception {        Bizable proxy = RPC.getProxy(Bizable.class, 10010L, new InetSocketAddress("192.168.19.10", 9527),                new Configuration());        String result = proxy.sayHi("小虹尘");        System.out.println("==============================================================");        System.out.println(result);        System.out.println("==============================================================");        RPC.stopProxy(proxy);    }}

三 、 测试

(1)本地客户端与服务端通信

   运行RPCServer类------>运行RPCClient类 ,运行结果如图:

  

(2)虚拟机与本机通信

  

使用idea软件打可运行的Jar包

     File------>Project Structure------>Artifacts------> + ------>Jar------>From Module And Dependences



------>Main Class------>RPCClient------>Copy to the output directory and link via manifest

              

------>Apply------>OK

  【2】将打好的文件../out/artifacts/hadoop_jar_jar上传到虚拟机下

  【3】在主机,运行本地的RPCServer类

  【4】进入到hadoop_jar_jar目录下

     cd hadoop_jar_jar

     运行jar包 java -jar 包名

     例如:java -jar hadopp_jar.jar


0 0