大数据-Hadoop学习笔记10

来源:互联网 发布:办公室软件培训心得 编辑:程序博客网 时间:2024/05/18 14:25

32.考查Hadoop的底层ipc通信

IPC进程间通信(inter process communication)
RPC远程过程调用(remote procedure call)

1.实现原理【Client】    1.Client.class,且遵循VersionProtocal协议    2.通过代理和服务器端打交道【Server】    1.Server.class,且遵循VersionProtocal协议    2.server端有具体实现2.创建客户端服务端      
【服务端】public class MyServer {    public static void main(String[] args) throws Exception {        Configuration conf = new Configuration();        Builder builder = new RPC.Builder(conf)                .setProtocol(HelloWorldService.class)                .setInstance(new HelloWorldServiceImpl())                .setBindAddress("localhost")                .setNumHandlers(2)                .setPort(6666);        Server server = builder.build();        server.start();    }}

【客户端】

public class MyClient {    public static void main(String[] args) throws Exception {        Configuration conf = new Configuration();        try {            HelloWorldService proxy = RPC.getProxy(                    HelloWorldService.class,                    1,                     new InetSocketAddress("localhost", 6666),                     conf);            String result = proxy.sayHello("my name is xiaoji");            System.out.println("client result is: " + result);        } catch (IOException e) {            e.printStackTrace();        }    }}
3.创建一个接口HelloWorldService继承于VersionedProtocol       
public interface HelloWorldService extends VersionedProtocol{    public static final long versionID = 1;    public String sayHello(String msg) throws Exception;}
4.启动服务器再启动客户端

33.

1.切片大小和block相当,优化策略    a)数据本地化优化策略    b)机架本地化策略    c)不同机架运行任务    d)
0 0
原创粉丝点击