zoukankan      html  css  js  c++  java
  • day07 hadoop里面的RPC框架使用

    PS: RPC远程调用  Webservice啥的都是远程调用。下面简单介绍其使用过程
    Hadoop已经实现了RPC框架,不用我们自己写,不过需要我们注意几点:
    1.发布服务端和客户端必须包名相同
    
    

    1.服务端---发布服务

    package cn.itcast.bigdata.hadooprpc.service;
    
    import org.apache.hadoop.conf.Configuration;
    import org.apache.hadoop.ipc.RPC;
    import org.apache.hadoop.ipc.RPC.Builder;
    import org.apache.hadoop.ipc.RPC.Server;
    
    import cn.itcast.bigdata.hadooprpc.protocol.ClientNamenodeProtocol;
    import cn.itcast.bigdata.hadooprpc.protocol.IUserLoginService;
    
    public class PublishServiceUtil {
    
        public static void main(String[] args) throws Exception {
            
            
            Builder builder2 = new RPC.Builder(new Configuration());
            builder2.setBindAddress("localhost")
            .setPort(9999)
            .setProtocol(IUserLoginService.class)
            .setInstance(new UserLoginServiceImpl());
            
            Server server2 = builder2.build();
            server2.start();
        }
    }
    //服务与实现
    package
    cn.itcast.bigdata.hadooprpc.protocol; public interface IUserLoginService { public static final long versionID = 100L; public String login(String name,String passwd); }
    package cn.itcast.bigdata.hadooprpc.service;
    
    import cn.itcast.bigdata.hadooprpc.protocol.IUserLoginService;
    
    public class UserLoginServiceImpl implements IUserLoginService{
    
        @Override
        public String login(String name, String passwd) {
            
            return name + "logged in successfully...";
        }
    }

    2.客户端---查找服务

    package cn.itcast.bigdata.hadooprpc.client;
    
    import java.io.IOException;
    import java.net.InetSocketAddress;
    
    import org.apache.hadoop.conf.Configuration;
    import org.apache.hadoop.ipc.RPC;
    
    import cn.itcast.bigdata.hadooprpc.protocol.IUserLoginService;
    
    public class UserLoginActionStudy {
        
        public static void main(String[] args) throws IOException {
            IUserLoginService userLoginService = RPC.getProxy(IUserLoginService.class, 100L, new InetSocketAddress("localhost", 8888),new Configuration());
            String login = userLoginService.login("angelababy", "1314520");
            System.out.println(login);
        }
    
    }
  • 相关阅读:
    软件测试 Lab1 实验报告
    软件测试 Homework2
    谈谈最近的一个让我印象深刻的错误
    Bill Manager Problem Statement
    C#学习记录(九)Windows Phone开发中的Binding
    C#学习记录(八) XML Serializer尝试
    C#学习记录(七)LINQ语句及LAMDA表达式
    C#学习记录(六)
    软件测试之作业三
    软件测试之实验一
  • 原文地址:https://www.cnblogs.com/bee-home/p/7879137.html
Copyright © 2011-2022 走看看