Example usage for org.apache.hadoop.service CompositeService CompositeService

List of usage examples for org.apache.hadoop.service CompositeService CompositeService

Introduction

In this page you can find the example usage for org.apache.hadoop.service CompositeService CompositeService.

Prototype

public CompositeService(String name) 

Source Link

Usage

From source file:org.apache.tajo.master.scheduler.TestSimpleScheduler.java

License:Apache License

@Before
public void setup() {
    conf = new TajoConf();
    nodeResource = NodeResource.createResource(1500, 2, 3);
    service = new CompositeService(TestSimpleScheduler.class.getSimpleName()) {

        @Override//from   w w  w .  j  a  v a 2  s  .  co m
        protected void serviceInit(Configuration conf) throws Exception {
            dispatcher = new AsyncDispatcher();
            addService(dispatcher);

            rmContext = new TajoRMContext(dispatcher);
            rmContext.getDispatcher().register(NodeEventType.class,
                    new TajoResourceManager.WorkerEventDispatcher(rmContext));

            barrier = new Semaphore(0);
            scheduler = new MySimpleScheduler(rmContext, barrier);
            addService(scheduler);
            rmContext.getDispatcher().register(SchedulerEventType.class, scheduler);

            for (int i = 0; i < workerNum; i++) {
                WorkerConnectionInfo conn = new WorkerConnectionInfo("host" + i, 28091 + i, 28092, 21000, 28093,
                        28080);
                rmContext.getNodes().putIfAbsent(conn.getId(),
                        new NodeStatus(rmContext, NodeResources.clone(nodeResource), conn));
                rmContext.getDispatcher().getEventHandler()
                        .handle(new NodeEvent(conn.getId(), NodeEventType.STARTED));
            }
            super.serviceInit(conf);
        }
    };
    service.init(conf);
    service.start();

    assertEquals(workerNum, rmContext.getNodes().size());
    totalResource = NodeResources.createResource(0);
    for (NodeStatus nodeStatus : rmContext.getNodes().values()) {
        NodeResources.addTo(totalResource, nodeStatus.getTotalResourceCapability());
    }
}

From source file:org.apache.tajo.worker.TestNodeResourceManager.java

License:Apache License

@Before
public void setup() {
    conf = new TajoConf();
    conf.set(CommonTestingUtil.TAJO_TEST_KEY, CommonTestingUtil.TAJO_TEST_TRUE);

    taskMemory = 512;/* ww w. jav  a2s. c o  m*/
    conf.setIntVar(TajoConf.ConfVars.WORKER_RESOURCE_AVAILABLE_CPU_CORES, 4);
    conf.setIntVar(TajoConf.ConfVars.WORKER_RESOURCE_AVAILABLE_MEMORY_MB,
            taskMemory * conf.getIntVar(TajoConf.ConfVars.WORKER_RESOURCE_AVAILABLE_CPU_CORES));
    conf.setIntVar(TajoConf.ConfVars.WORKER_RESOURCE_AVAILABLE_DISKS, 4);
    conf.setIntVar(TajoConf.ConfVars.WORKER_RESOURCE_AVAILABLE_DISK_PARALLEL_NUM, 1);
    conf.setIntVar(TajoConf.ConfVars.SHUFFLE_FETCHER_PARALLEL_EXECUTION_MAX_NUM, 2);

    dispatcher = new AsyncDispatcher();
    taskDispatcher = new AsyncDispatcher();

    workerContext = new MockWorkerContext() {
        WorkerConnectionInfo workerConnectionInfo;

        @Override
        public TajoConf getConf() {
            return conf;
        }

        @Override
        public TaskManager getTaskManager() {
            return taskManager;
        }

        @Override
        public TaskExecutor getTaskExecuor() {
            return taskExecutor;
        }

        @Override
        public NodeResourceManager getNodeResourceManager() {
            return resourceManager;
        }

        @Override
        public WorkerConnectionInfo getConnectionInfo() {
            if (workerConnectionInfo == null) {
                workerConnectionInfo = new WorkerConnectionInfo("host", 28091, 28092, 21000, 28093, 28080);
            }
            return workerConnectionInfo;
        }
    };

    taskManager = new MockTaskManager(new Semaphore(0), taskDispatcher, workerContext);
    taskExecutor = new MockTaskExecutor(new Semaphore(0), workerContext);
    resourceManager = new MockNodeResourceManager(new Semaphore(0), dispatcher, workerContext);
    statusUpdater = new MockNodeStatusUpdater(new CountDownLatch(0), workerContext);

    service = new CompositeService("MockService") {
        @Override
        protected void serviceInit(Configuration conf) throws Exception {
            addIfService(dispatcher);
            addIfService(taskDispatcher);
            addIfService(taskManager);
            addIfService(taskExecutor);
            addIfService(resourceManager);
            addIfService(statusUpdater);
            super.serviceInit(conf);
        }

        @Override
        protected void serviceStop() throws Exception {
            workerContext.getMetrics().stop();
            super.serviceStop();
        }
    };

    service.init(conf);
    service.start();
}

From source file:org.apache.tajo.worker.TestNodeStatusUpdater.java

License:Apache License

@Before
public void setup() {
    conf = new TajoConf();
    conf.set(CommonTestingUtil.TAJO_TEST_KEY, CommonTestingUtil.TAJO_TEST_TRUE);
    conf.setIntVar(TajoConf.ConfVars.WORKER_RESOURCE_AVAILABLE_CPU_CORES, 2);
    conf.setIntVar(TajoConf.ConfVars.SHUFFLE_FETCHER_PARALLEL_EXECUTION_MAX_NUM, 2);

    workerContext = new MockWorkerContext() {
        WorkerConnectionInfo workerConnectionInfo;

        @Override//  ww w .  j  a v a2  s.  c o m
        public TajoConf getConf() {
            return conf;
        }

        @Override
        public TaskManager getTaskManager() {
            return taskManager;
        }

        @Override
        public TaskExecutor getTaskExecuor() {
            return null;
        }

        @Override
        public NodeResourceManager getNodeResourceManager() {
            return resourceManager;
        }

        @Override
        public WorkerConnectionInfo getConnectionInfo() {
            if (workerConnectionInfo == null) {
                workerConnectionInfo = new WorkerConnectionInfo("host", 28091, 28092, 21000, 28093, 28080);
            }
            return workerConnectionInfo;
        }
    };

    conf.setIntVar(TajoConf.ConfVars.WORKER_HEARTBEAT_IDLE_INTERVAL, 1000);
    dispatcher = new AsyncDispatcher();
    resourceManager = new NodeResourceManager(dispatcher, workerContext);
    taskDispatcher = new AsyncDispatcher();
    taskManager = new MockTaskManager(new Semaphore(0), taskDispatcher, workerContext) {
        @Override
        public int getRunningTasks() {
            return 0;
        }
    };

    service = new CompositeService("MockService") {
        @Override
        protected void serviceInit(Configuration conf) throws Exception {
            addIfService(dispatcher);
            addIfService(taskDispatcher);
            addIfService(taskManager);
            addIfService(resourceManager);
            addIfService(statusUpdater);
            super.serviceInit(conf);
        }

        @Override
        protected void serviceStop() throws Exception {
            workerContext.getMetrics().stop();
            super.serviceStop();
        }
    };

    service.init(conf);
    service.start();
}

From source file:org.apache.tajo.worker.TestTaskExecutor.java

License:Apache License

@Before
public void setup() {
    conf = new TajoConf();
    conf.set(CommonTestingUtil.TAJO_TEST_KEY, CommonTestingUtil.TAJO_TEST_TRUE);
    conf.setIntVar(TajoConf.ConfVars.WORKER_RESOURCE_AVAILABLE_CPU_CORES, 2);
    conf.setIntVar(TajoConf.ConfVars.SHUFFLE_FETCHER_PARALLEL_EXECUTION_MAX_NUM, 2);
    dispatcher = new AsyncDispatcher();
    taskDispatcher = new AsyncDispatcher();

    workerContext = new MockWorkerContext() {
        WorkerConnectionInfo workerConnectionInfo;

        @Override//from   ww w  .ja va2s  . c  om
        public TajoConf getConf() {
            return conf;
        }

        @Override
        public TaskManager getTaskManager() {
            return taskManager;
        }

        @Override
        public org.apache.tajo.worker.TaskExecutor getTaskExecuor() {
            return taskExecutor;
        }

        @Override
        public NodeResourceManager getNodeResourceManager() {
            return resourceManager;
        }

        @Override
        public WorkerConnectionInfo getConnectionInfo() {
            if (workerConnectionInfo == null) {
                workerConnectionInfo = new WorkerConnectionInfo("host", 28091, 28092, 21000, 28093, 28080);
            }
            return workerConnectionInfo;
        }
    };

    barrier = new Semaphore(0);
    resourceManagerBarrier = new Semaphore(0);
    taskManager = new MockTaskManager(new Semaphore(0), taskDispatcher, workerContext);
    taskExecutor = new MyTaskExecutor(barrier, workerContext);
    resourceManager = new MockNodeResourceManager(resourceManagerBarrier, dispatcher, workerContext);
    statusUpdater = new MockNodeStatusUpdater(new CountDownLatch(0), workerContext);

    service = new CompositeService("MockService") {
        @Override
        protected void serviceInit(Configuration conf) throws Exception {
            addIfService(dispatcher);
            addIfService(taskDispatcher);
            addIfService(taskManager);
            addIfService(taskExecutor);
            addIfService(resourceManager);
            addIfService(statusUpdater);
            super.serviceInit(conf);
        }

        @Override
        protected void serviceStop() throws Exception {
            workerContext.getMetrics().stop();
            super.serviceStop();
        }
    };

    service.init(conf);
    service.start();
}

From source file:org.apache.tajo.worker.TestTaskManager.java

License:Apache License

@Before
public void setup() {
    conf = new TajoConf();
    conf.set(CommonTestingUtil.TAJO_TEST_KEY, CommonTestingUtil.TAJO_TEST_TRUE);

    taskMemory = 512;/*  w w  w .  j a  v a  2  s  .  c om*/
    conf.setIntVar(TajoConf.ConfVars.WORKER_RESOURCE_AVAILABLE_CPU_CORES, 4);
    conf.setIntVar(TajoConf.ConfVars.WORKER_RESOURCE_AVAILABLE_MEMORY_MB,
            taskMemory * conf.getIntVar(TajoConf.ConfVars.WORKER_RESOURCE_AVAILABLE_CPU_CORES));
    conf.setIntVar(TajoConf.ConfVars.WORKER_RESOURCE_AVAILABLE_DISKS, 4);
    conf.setIntVar(TajoConf.ConfVars.WORKER_RESOURCE_AVAILABLE_DISK_PARALLEL_NUM, 1);
    conf.setIntVar(TajoConf.ConfVars.SHUFFLE_FETCHER_PARALLEL_EXECUTION_MAX_NUM, 2);

    dispatcher = new AsyncDispatcher();
    taskDispatcher = new AsyncDispatcher();

    workerContext = new MockWorkerContext() {
        WorkerConnectionInfo workerConnectionInfo;

        @Override
        public TajoConf getConf() {
            return conf;
        }

        @Override
        public TaskManager getTaskManager() {
            return taskManager;
        }

        @Override
        public TaskExecutor getTaskExecuor() {
            return taskExecutor;
        }

        @Override
        public NodeResourceManager getNodeResourceManager() {
            return resourceManager;
        }

        @Override
        public WorkerConnectionInfo getConnectionInfo() {
            if (workerConnectionInfo == null) {
                workerConnectionInfo = new WorkerConnectionInfo("host", 28091, 28092, 21000, 28093, 28080);
            }
            return workerConnectionInfo;
        }
    };
    barrier = new Semaphore(0);
    taskManager = new MockTaskManager(barrier, taskDispatcher, workerContext);
    taskExecutor = new MockTaskExecutor(new Semaphore(0), workerContext);
    resourceManager = new NodeResourceManager(dispatcher, workerContext);
    statusUpdater = new MockNodeStatusUpdater(new CountDownLatch(0), workerContext);

    service = new CompositeService("MockService") {
        @Override
        protected void serviceInit(Configuration conf) throws Exception {
            addIfService(dispatcher);
            addIfService(taskDispatcher);
            addIfService(taskManager);
            addIfService(taskExecutor);
            addIfService(resourceManager);
            addIfService(statusUpdater);
            super.serviceInit(conf);
        }

        @Override
        protected void serviceStop() throws Exception {
            workerContext.getMetrics().stop();
            super.serviceStop();
        }
    };

    service.init(conf);
    service.start();
}