hadoop 使用内部RPC技术实现通信
2016-07-21 23:11
375 查看
package com.day08.rpc.click; 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.Builder; import org.apache.hadoop.ipc.RPC.Server; import com.day08.rpc.click.dao.NameNodeDao; import com.day08.rpc.click.imlp.NameNodeImp; public class ServerPublisher { public static void main(String[] args) { System.setProperty("hadoop.home.dir", "E://cenos-6.5-hadoop-2.6.4//hadoop-2.6.4"); Builder builder = new RPC.Builder(new Configuration()); builder.setBindAddress("localhost").setPort(1888) .setProtocol(NameNodeImp.class).setInstance(new NameNodeDao()); try { Server build = builder.build(); build.start(); } catch (HadoopIllegalArgumentException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }
<pre name="code" class="html">package com.day08.rpc.server; import java.io.IOException; import java.net.InetSocketAddress; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.ipc.RPC; import com.day08.rpc.click.imlp.NameNodeImp; public class ClickPublicSher { public static void main(String[] args) { try { System.setProperty("hadoop.home.dir", "E://cenos-6.5-hadoop-2.6.4//hadoop-2.6.4"); NameNodeImp proxy = RPC.getProxy(NameNodeImp.class, 1L, new InetSocketAddress("localhost", 1888), new Configuration()); String getDate = proxy.GetDate("a.text"); System.out.println(getDate); } catch (IOException e) { e.printStackTrace(); } } }
package com.day08.rpc.server.impl; public interface NameNodeImp { public final long versionID = 1L; public String GetDate(String str); }
</pre><pre code_snippet_id="1776826" snippet_file_name="blog_20160721_6_725712" name="code" class="html">
package com.day08.rpc.click.dao; import com.day08.rpc.click.imlp.NameNodeImp; public class NameNodeDao implements NameNodeImp{ public String GetDate(String str) { return str + "{NamenODE的类}"; } }
相关文章推荐
- 星外无法统计流量或IOPS的解决办法
- Linux中的消息队列
- Transfer在MySQL数据库双主同步架构中的应用
- Linux 的 NUMA 技术
- linux文件系统管理
- Copy、CopyFile、FileCopy的用法
- linux常见指令及时间戳
- linux常用命令(一):目录处理命令
- 简记:一次修复CentOS7因卸载多余内核后引起启动文件丢失及其后续问题的过程
- 【OpenCV笔记 12】OpenCV边缘检测之canny算子
- 怎样提高网站用户体验
- 怎样提高网站用户体验
- CentOS7安装gtk+2.0和mysql及环境配置
- nginx进行负载计划以及所需参数说明
- nginx进行负载计划以及所需参数说明
- 转载---小甲鱼PE详解之IMAGE_OPTIONAL_HEADER32 结构定义即各个属性的作用(PE详解03)
- Hadoop之Partition深度解析
- codesign_allocate: error: unable to find utility "codesign_allocate", not a developer tool or in PAT
- LinuxC编程实战学习——第六章文件操作
- weblogic安装注意事项_linux