您的位置:首页 > 运维架构

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的类}";
}

}



                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: