Hadoop RPC实战
来源:互联网 发布:战舰世界 战列舰 知乎 编辑:程序博客网 时间:2024/05/02 06:45
本篇介绍Hadoop RPC一个客户端对服务端的远程调用
一 创建maven项目hadoop
二 配置pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0"; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; xsi:schemaLocation="http://maven.apache.org/POM/4.0.0http://maven.apache.org/xsd/maven-4.0.0.xsd";> <modelVersion>4.0.0</modelVersion> <groupId>com.cakin</groupId> <artifactId>hadoop</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <name>hadoop</name> <url>http://maven.apache.org</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <dependencies> <dependency> <groupId>jdk.tools</groupId> <artifactId>jdk.tools</artifactId> <version>1.7.0_51</version> <scope>system</scope> <systemPath>D:/Program/Java/jdk1.7.0_51/lib/tools.jar</systemPath> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-common</artifactId> <version>2.7.4</version> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-hdfs</artifactId> <version>2.7.4</version> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-mapreduce-client-common</artifactId> <version>2.7.4</version> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-mapreduce-client-core</artifactId> <version>2.7.4</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> </dependencies></project>
三 创建RPCServer类
package com.cakin.hadoop;import java.io.IOException;import org.apache.hadoop.HadoopIllegalArgumentException;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.ipc.RPC;import org.apache.hadoop.ipc.RPC.Server;public class RPCServer implements IRPCInterface { public static void main(String[] args) throws Exception{ Server server = new RPC.Builder(new Configuration()) .setBindAddress("localhost") .setPort(8888) .setInstance(new RPCServer()) .setProtocol(IRPCInterface.class) .build(); server.start(); } public String test(String s) { System.out.println("PRCServer.test()"); return "rpc" +s; }}
四 创建IPRCInterface接口
package com.cakin.hadoop;public interface IRPCInterface { public static final long versionID=1; public String test(String s);}
五 创建PRCClient类
package com.cakin.hadoop;import java.io.IOException;importjava.net.InetSocketAddress;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.ipc.RPC;public class PRCClient { public static void main(String[] args) throws Exception{ IRPCInterface proxy = RPC.getProxy(IRPCInterface.class, 1, new InetSocketAddress("localhost",8888), new Configuration()); String s= proxy.test("client"); System.out.println("clent=======>"+s); }}
六 测试
1、启动服务端程序
2、启动客户端程序
3、客户端测试结果
clent=======>rpcclient
4、服务端测试结果
PRCServer.test()
七 参考
http://www.jikexueyuan.com/course/2710.html
阅读全文
0 0
- Hadoop RPC实战
- hadoop RPC
- hadoop RPC
- Hadoop RPC
- Hadoop RPC
- Hadoop RPC
- rpc hadoop
- Hadoop RPC
- Hadoop RPC
- hadoop rpc
- Hadoop RPC
- Hadoop RPC
- Hadoop RPC
- Hadoop RPC
- hadoop rpc
- hadoop RPC
- hadoop RPC
- <hadoop>hadoop RPC框架
- 自制感光法印制PCB(干货)-激光雕刻丝印层
- Font Awesome(五)
- ubuntu下安装node
- java程序员面试题之32问
- 笔记(5)
- Hadoop RPC实战
- CapsNet
- Font Awesome(六)
- hrbust 2354 An Easy Geometry Problem
- 分治---线性时间选择
- retrain tensorflow中InceptionV3模型
- 如何让opencv成为MATLAB中的一个工具箱
- 重识java11
- python-基础知识-20171219