private NodeResourceRequest createQMResourceRequest(QueryInfo queryInfo) { NodeResource qmResource = getQMMinimumResourceCapability(); int containers = 1; Set<Integer> assignedQMNodes = Sets.newHashSet(assignedQueryMasterMap.values()); List<Integer> idleNode = Lists.newArrayList(); for (NodeStatus nodeStatus : getRMContext().getNodes().values()) { //find idle node for QM if (!assignedQMNodes.contains(nodeStatus.getWorkerId())) { idleNode.add(nodeStatus.getWorkerId()); } if (idleNode.size() > containers * 3) break; } NodeResourceRequest.Builder builder = NodeResourceRequest.newBuilder(); builder.setQueryId(queryInfo.getQueryId().getProto()) .setCapacity(qmResource.getProto()) .setType(ResourceType.QUERYMASTER) .setPriority(1) .setNumContainers(containers) .setRunningTasks(1) .addAllCandidateNodes(idleNode) .setUserId(queryInfo.getQueryContext().getUser()); //TODO .setQueue(queryInfo.getQueue()); return builder.build(); }
private NodeResourceRequest createQMResourceRequest(QueryInfo queryInfo) { NodeResource qmResource = getQMMinimumResourceCapability(); int containers = 1; Set<Integer> assignedQMNodes = Sets.newHashSet(assignedQueryMasterMap.values()); List<Integer> idleNode = Lists.newArrayList(); for (NodeStatus nodeStatus : getRMContext().getNodes().values()) { //find idle node for QM if (!assignedQMNodes.contains(nodeStatus.getWorkerId())) { idleNode.add(nodeStatus.getWorkerId()); } if (idleNode.size() > containers * 3) break; } NodeResourceRequest.Builder builder = NodeResourceRequest.newBuilder(); builder.setQueryId(queryInfo.getQueryId().getProto()) .setCapacity(qmResource.getProto()) .setType(ResourceType.QUERYMASTER) .setPriority(1) .setNumContainers(containers) .setRunningTasks(1) .addAllCandidateNodes(idleNode) .setUserId(queryInfo.getQueryContext().getUser()); //TODO .setQueue(queryInfo.getQueue()); return builder.build(); }
.setNumContainers(requestContainerNum) .setPriority(stage.getPriority()) .setQueryId(context.getMasterContext().getQueryId().getProto()) .setType(isLeaf ? ResourceType.LEAF : ResourceType.INTERMEDIATE) .setUserId(context.getMasterContext().getQueryContext().getUser())
.setNumContainers(requestContainerNum) .setPriority(stage.getPriority()) .setQueryId(context.getMasterContext().getQueryId().getProto()) .setType(isLeaf ? ResourceType.LEAF : ResourceType.INTERMEDIATE) .setUserId(context.getMasterContext().getQueryContext().getUser())
private NodeResourceRequest createResourceRequest(QueryId queryId, int containerNum, List<Integer> candidateWorkers) { NodeResourceRequest.Builder request = NodeResourceRequest.newBuilder(); request.setCapacity(scheduler.getMinimumResourceCapability().getProto()) .setNumContainers(containerNum) .setPriority(1) .setQueryId(queryId.getProto()) .setType(ResourceType.LEAF) .setUserId("test user") .setRunningTasks(0) .addAllCandidateNodes(candidateWorkers) .setQueue("default"); return request.build(); }