Example usage for org.apache.hadoop.yarn.factories.impl.pb RpcClientFactoryPBImpl get

List of usage examples for org.apache.hadoop.yarn.factories.impl.pb RpcClientFactoryPBImpl get

Introduction

In this page you can find the example usage for org.apache.hadoop.yarn.factories.impl.pb RpcClientFactoryPBImpl get.

Prototype

public static RpcClientFactoryPBImpl get() 

Source Link

Usage

From source file:io.hops.metadata.util.DistributedRTClientEvaluation.java

License:Apache License

public void start() throws YarnException, IOException, InterruptedException {

    //Assign nodes to worker threads
    //Register nodes
    ResourceTracker rt = (ResourceTracker) RpcClientFactoryPBImpl.get()
            .getClient(/*from   w w w.  jav  a2  s . co  m*/
                    ResourceTracker.class, 1, NetUtils
                            .getConnectAddress(
                                    new InetSocketAddress(
                                            conf.get(YarnConfiguration.RM_RESOURCE_TRACKER_ADDRESS),
                                            conf.getInt(YarnConfiguration.RM_RESOURCE_TRACKER_PORT,
                                                    YarnConfiguration.DEFAULT_RM_RESOURCE_TRACKER_PORT))),
                    conf);
    for (NodeId nid : nmMap.values()) {
        registerClient(rt, nid);
    }
    //Wait for processing to complete
    //TODO: Get Active RMNodes from ndb instead of sleeping
    Thread.sleep(5000);
    //Send heartbeats

    for (NodeId nid : nmMap.values()) {
        //Send the Heartbeats

        executor.execute(new RTClientWorker(nid));
        Thread.sleep(hbPeriod / nbNM);

    }
    executor.shutdown();
    Thread.sleep(duration / 4);
    nbTreatedScheduler.set(0);
    nbTreatedRT.set(0);
    long start = System.currentTimeMillis();
    Thread.sleep(duration / 2);
    double nbHBTheoric = ((double) nbNM * duration / 2) / hbPeriod;
    System.out.printf("nb treatedRT %d, nb treatedScheduler %d, theorical nbhb: %f, duration: %d\n",
            nbTreatedRT.get(), nbTreatedScheduler.get(), nbHBTheoric, System.currentTimeMillis() - start);
    double treatedSchedulerRate = (double) nbTreatedScheduler.get() / nbHBTheoric;
    double treatedRTRate = (double) nbTreatedRT.get() / nbHBTheoric;
    LOG.info("treatedSchedulerRate: " + treatedSchedulerRate);

    File file = new File(output);
    if (!file.exists()) {
        file.createNewFile();
    }
    FileWriter fileWriter = new FileWriter(output, true);

    BufferedWriter bufferWritter = new BufferedWriter(fileWriter);
    bufferWritter.write(nbNMTotal + "\t" + nbTreatedRT.get() + "\t" + nbTreatedScheduler.get() + "\t"
            + nbHBTheoric + "\t" + treatedRTRate + "\t" + treatedSchedulerRate + "\n");
    bufferWritter.close();

    Thread.sleep(1000);
    System.exit(0);
}