Hadoop笔记一之Java中Rpc通信
来源:互联网 发布:单片机按键程序 编辑:程序博客网 时间:2024/05/22 00:17
前言:
本例中默认已经在eclipse中创建一个maven工程并配置hadoop资源。以下是pom.xml的配置信息
概述:
1: 在一个jvm中一个对象可以调用另一个对象的资源,但是如果是多个jvm,jvmA中的对象调用jvmB中的对象则需要借助于RPC协议来完成此操作。
:2:Rpc协议采用的是CS结构,请求方相当于一个客户机被请求方相当于服务器。
3:Java在使用Rpc协议通信时需使用接口org.apache.hadoop.ipc.VersionedProtocol来完成此功能。此接口中声明了两个方法:getProtocolVersion返回版本号,getProtocolSignature返回签名。
例子:
例子中代码分四部分。client、server、server的自定义协议,server自定义协议的实现
图1、client代码
图 2、server代码
图 3、 server端继承的VersionedProtocol接口
图4、server端接口的实现
运行结果
启动server端,启动client端,分别查看server和client控制台
图5 client控制台
图6 server控制台,server一直没有结束处于监听状态
代码总结:
图1:Client配置了要访问的ip地址和端口然后得到了一个代理,当调用heartBeat方法时向服务器端发送一个请求将签名信息以及其他的参数传递过去,接受返回后结束。图5就是client的输出。
图2:Server配置了需要监听的ip地址和端口并实现了org.apache.hadoop.ipc.VersionedProtocol接口完成自己的逻辑,当请求发送过来后他会接收Client发送过来的参数然后执行自己的逻辑,之后将返回值返回给Client。然后Client接收到返回值后就结束而Server则继续监听状态等待下一次的访问。
实际应用中Client可以把自己的状态信息发送给Server由Server对所有的Client进行处理。
总结:
Server实现一个声明了很多方法的接口并对外暴露此接口,Client通过调用此接口中声明的方法向server发送信息从而实现了与server的通信。而我们就称此接口为RPC通信协议,当然这是我的理解。
- Hadoop笔记一之Java中Rpc通信
- 考察Hadoop的底层rpc通信(一)
- Hadoop学习笔记之RPC
- Hadoop之——RPC通信实例
- 3.hadoop之RPC通信简单介绍
- Hadoop的RPC通信------>java实现
- Hadoop笔记三之Hdfs体系架构及各节点之间的Rpc通信
- Hadoop RPC通信原理
- 理解Hadoop通信 RPC
- Hadoop NameNode之RPC Server(一)
- 【Hadoop】HDFS笔记(一):Hadoop的RPC机制
- Hadoop RPC热身之Java NIO
- Hadoop RPC热身之Java 动态代理
- Hadoop RPC热身之Java 反射
- Java RPC通信机制之RMI
- Java RPC通信机制之RMI
- Java RPC通信机制之RMI
- Java RPC通信机制之RMI
- ---servlet(三)HttpServletResponse对象和 HttpServletRequest对象
- RandomAccessFile用法
- 删除JSON时的几个方法
- 老九门略--盗墓笔记老九门是哪九门(后附最新老九门电视剧百度云地址--不时更新)
- 对于多线程的理解以及我们为什么要使用多线程
- Hadoop笔记一之Java中Rpc通信
- 性能观测常用命令
- 好文摘抄
- 我将来想做的一个音乐“神器”
- 单例理解以及我们为什么要使用单例
- 通过端口来判断Minecraft服务器的延迟
- [OpenGL]基于AABB包围盒的漫游时视点与场景的碰撞检测
- Meeting Rooms
- 从0到千万级访问量网站架构演变史