@InterfaceAudience.Private
public class CommonNodeLabelsManager
extends org.apache.hadoop.service.AbstractService
| Modifier and Type | Class and Description | 
|---|---|
| protected static class  | CommonNodeLabelsManager.HostA  Hostcan have multipleNodes | 
| protected static class  | CommonNodeLabelsManager.Node | 
| Modifier and Type | Field and Description | 
|---|---|
| static Set<String> | ACCESS_ANY_LABEL_SET | 
| static String | ANY | 
| protected Dispatcher | dispatcher | 
| static Set<org.apache.hadoop.yarn.api.records.NodeLabel> | EMPTY_NODELABEL_SET | 
| static Set<String> | EMPTY_STRING_SET | 
| protected ConcurrentMap<String,RMNodeLabel> | labelCollections | 
| protected static org.apache.commons.logging.Log | LOG | 
| static String | NO_LABELIf a user doesn't specify label of a queue or node, it belongs
 DEFAULT_LABEL | 
| static String | NODE_LABELS_NOT_ENABLED_ERRError messages | 
| protected ConcurrentMap<String,CommonNodeLabelsManager.Host> | nodeCollections | 
| protected RMNodeLabel | noNodeLabel | 
| protected ReentrantReadWriteLock.ReadLock | readLock | 
| protected NodeLabelsStore | store | 
| static int | WILDCARD_PORT | 
| protected ReentrantReadWriteLock.WriteLock | writeLock | 
| Constructor and Description | 
|---|
| CommonNodeLabelsManager() | 
| Modifier and Type | Method and Description | 
|---|---|
| void | addLabelsToNode(Map<org.apache.hadoop.yarn.api.records.NodeId,Set<String>> addedLabelsToNode)add more labels to nodes | 
| void | addToCluserNodeLabels(Collection<org.apache.hadoop.yarn.api.records.NodeLabel> labels) | 
| void | addToCluserNodeLabelsWithDefaultExclusivity(Set<String> labels)Add multiple node labels to repository | 
| protected void | checkAddLabelsToNode(Map<org.apache.hadoop.yarn.api.records.NodeId,Set<String>> addedLabelsToNode) | 
| static void | checkAndThrowLabelName(String label) | 
| protected void | checkRemoveFromClusterNodeLabels(Collection<String> labelsToRemove) | 
| protected void | checkRemoveLabelsFromNode(Map<org.apache.hadoop.yarn.api.records.NodeId,Set<String>> removeLabelsFromNode) | 
| protected void | checkReplaceLabelsOnNode(Map<org.apache.hadoop.yarn.api.records.NodeId,Set<String>> replaceLabelsToNode) | 
| protected void | createHostIfNonExisted(String hostName) | 
| protected void | createNodeIfNonExisted(org.apache.hadoop.yarn.api.records.NodeId nodeId) | 
| Set<String> | getClusterNodeLabelNames()Get existing valid labels in repository | 
| List<org.apache.hadoop.yarn.api.records.NodeLabel> | getClusterNodeLabels() | 
| protected Set<String> | getLabelsByNode(org.apache.hadoop.yarn.api.records.NodeId nodeId) | 
| protected Set<String> | getLabelsByNode(org.apache.hadoop.yarn.api.records.NodeId nodeId,
               Map<String,CommonNodeLabelsManager.Host> map) | 
| Set<org.apache.hadoop.yarn.api.records.NodeLabel> | getLabelsInfoByNode(org.apache.hadoop.yarn.api.records.NodeId nodeId) | 
| Map<org.apache.hadoop.yarn.api.records.NodeLabel,Set<org.apache.hadoop.yarn.api.records.NodeId>> | getLabelsInfoToNodes()Get mapping of labels to nodes for all the labels. | 
| Map<org.apache.hadoop.yarn.api.records.NodeLabel,Set<org.apache.hadoop.yarn.api.records.NodeId>> | getLabelsInfoToNodes(Set<String> labels)Get mapping of labels info to nodes for specified set of labels. | 
| Map<String,Set<org.apache.hadoop.yarn.api.records.NodeId>> | getLabelsToNodes()Get mapping of labels to nodes for all the labels. | 
| Map<String,Set<org.apache.hadoop.yarn.api.records.NodeId>> | getLabelsToNodes(Set<String> labels)Get mapping of labels to nodes for specified set of labels. | 
| protected CommonNodeLabelsManager.Node | getNMInNodeSet(org.apache.hadoop.yarn.api.records.NodeId nodeId) | 
| protected CommonNodeLabelsManager.Node | getNMInNodeSet(org.apache.hadoop.yarn.api.records.NodeId nodeId,
              Map<String,CommonNodeLabelsManager.Host> map) | 
| protected CommonNodeLabelsManager.Node | getNMInNodeSet(org.apache.hadoop.yarn.api.records.NodeId nodeId,
              Map<String,CommonNodeLabelsManager.Host> map,
              boolean checkRunning) | 
| Map<org.apache.hadoop.yarn.api.records.NodeId,Set<String>> | getNodeLabels()Get mapping of nodes to labels | 
| Map<org.apache.hadoop.yarn.api.records.NodeId,Set<org.apache.hadoop.yarn.api.records.NodeLabel>> | getNodeLabelsInfo()Get mapping of nodes to label info | 
| Set<org.apache.hadoop.yarn.api.records.NodeId> | getNodesWithoutALabel()Get nodes that have no labels. | 
| protected void | handleStoreEvent(NodeLabelsStoreEvent event) | 
| protected void | initDispatcher(org.apache.hadoop.conf.Configuration conf) | 
| protected void | initNodeLabelStore(org.apache.hadoop.conf.Configuration conf) | 
| protected void | internalRemoveFromClusterNodeLabels(Collection<String> labelsToRemove) | 
| protected void | internalUpdateLabelsOnNodes(Map<org.apache.hadoop.yarn.api.records.NodeId,Set<String>> nodeToLabels,
                           org.apache.hadoop.yarn.nodelabels.CommonNodeLabelsManager.NodeLabelUpdateOperation op) | 
| boolean | isExclusiveNodeLabel(String nodeLabel) | 
| protected boolean | isInitNodeLabelStoreInProgress() | 
| protected String | normalizeLabel(String label) | 
| protected Map<org.apache.hadoop.yarn.api.records.NodeId,Set<String>> | normalizeNodeIdToLabels(Map<org.apache.hadoop.yarn.api.records.NodeId,Set<String>> nodeIdToLabels) | 
| void | removeFromClusterNodeLabels(Collection<String> labelsToRemove)Remove multiple node labels from repository | 
| void | removeLabelsFromNode(Map<org.apache.hadoop.yarn.api.records.NodeId,Set<String>> removeLabelsFromNode)remove labels from nodes, labels being removed most be contained by these
 nodes | 
| protected void | removeNodeFromLabels(org.apache.hadoop.yarn.api.records.NodeId node,
                    Set<String> labels) | 
| void | replaceLabelsOnNode(Map<org.apache.hadoop.yarn.api.records.NodeId,Set<String>> replaceLabelsToNode)replace labels to nodes | 
| protected void | serviceInit(org.apache.hadoop.conf.Configuration conf) | 
| protected void | serviceStart() | 
| protected void | serviceStop() | 
| void | setInitNodeLabelStoreInProgress(boolean initNodeLabelStoreInProgress) | 
| protected void | startDispatcher() | 
| protected void | stopDispatcher() | 
close, getBlockers, getConfig, getFailureCause, getFailureState, getLifecycleHistory, getName, getServiceState, getStartTime, init, isInState, noteFailure, putBlocker, registerGlobalListener, registerServiceListener, removeBlocker, setConfig, start, stop, toString, unregisterGlobalListener, unregisterServiceListener, waitForServiceToStopprotected static final org.apache.commons.logging.Log LOG
public static final Set<org.apache.hadoop.yarn.api.records.NodeLabel> EMPTY_NODELABEL_SET
public static final String ANY
public static final int WILDCARD_PORT
public static final String NODE_LABELS_NOT_ENABLED_ERR
public static final String NO_LABEL
protected Dispatcher dispatcher
protected ConcurrentMap<String,RMNodeLabel> labelCollections
protected ConcurrentMap<String,CommonNodeLabelsManager.Host> nodeCollections
protected RMNodeLabel noNodeLabel
protected final ReentrantReadWriteLock.ReadLock readLock
protected final ReentrantReadWriteLock.WriteLock writeLock
protected NodeLabelsStore store
protected void handleStoreEvent(NodeLabelsStoreEvent event)
protected void initDispatcher(org.apache.hadoop.conf.Configuration conf)
protected void serviceInit(org.apache.hadoop.conf.Configuration conf)
                    throws Exception
serviceInit in class org.apache.hadoop.service.AbstractServiceExceptionprotected boolean isInitNodeLabelStoreInProgress()
protected void initNodeLabelStore(org.apache.hadoop.conf.Configuration conf)
                           throws Exception
Exceptionprotected void startDispatcher()
protected void serviceStart()
                     throws Exception
serviceStart in class org.apache.hadoop.service.AbstractServiceExceptionprotected void stopDispatcher()
protected void serviceStop()
                    throws Exception
serviceStop in class org.apache.hadoop.service.AbstractServiceExceptionpublic void addToCluserNodeLabels(Collection<org.apache.hadoop.yarn.api.records.NodeLabel> labels) throws IOException
IOExceptionpublic void addToCluserNodeLabelsWithDefaultExclusivity(Set<String> labels) throws IOException
labels - new node labels addedIOExceptionprotected void checkAddLabelsToNode(Map<org.apache.hadoop.yarn.api.records.NodeId,Set<String>> addedLabelsToNode) throws IOException
IOExceptionpublic void addLabelsToNode(Map<org.apache.hadoop.yarn.api.records.NodeId,Set<String>> addedLabelsToNode) throws IOException
addedLabelsToNode - node -> labels mapIOExceptionprotected void checkRemoveFromClusterNodeLabels(Collection<String> labelsToRemove) throws IOException
IOExceptionprotected void internalRemoveFromClusterNodeLabels(Collection<String> labelsToRemove)
public void removeFromClusterNodeLabels(Collection<String> labelsToRemove) throws IOException
labelsToRemove - node labels to removeIOExceptionprotected void checkRemoveLabelsFromNode(Map<org.apache.hadoop.yarn.api.records.NodeId,Set<String>> removeLabelsFromNode) throws IOException
IOExceptionprotected void removeNodeFromLabels(org.apache.hadoop.yarn.api.records.NodeId node,
                        Set<String> labels)
protected void internalUpdateLabelsOnNodes(Map<org.apache.hadoop.yarn.api.records.NodeId,Set<String>> nodeToLabels, org.apache.hadoop.yarn.nodelabels.CommonNodeLabelsManager.NodeLabelUpdateOperation op) throws IOException
IOExceptionpublic void removeLabelsFromNode(Map<org.apache.hadoop.yarn.api.records.NodeId,Set<String>> removeLabelsFromNode) throws IOException
removeLabelsFromNode - node -> labels mapIOExceptionprotected void checkReplaceLabelsOnNode(Map<org.apache.hadoop.yarn.api.records.NodeId,Set<String>> replaceLabelsToNode) throws IOException
IOExceptionpublic void replaceLabelsOnNode(Map<org.apache.hadoop.yarn.api.records.NodeId,Set<String>> replaceLabelsToNode) throws IOException
replaceLabelsToNode - node -> labels mapIOExceptionpublic Map<org.apache.hadoop.yarn.api.records.NodeId,Set<String>> getNodeLabels()
public Map<org.apache.hadoop.yarn.api.records.NodeId,Set<org.apache.hadoop.yarn.api.records.NodeLabel>> getNodeLabelsInfo()
public Set<org.apache.hadoop.yarn.api.records.NodeId> getNodesWithoutALabel()
public Map<String,Set<org.apache.hadoop.yarn.api.records.NodeId>> getLabelsToNodes()
public Map<String,Set<org.apache.hadoop.yarn.api.records.NodeId>> getLabelsToNodes(Set<String> labels)
labels - set of labels for which labels to nodes mapping will be
        returned.public Map<org.apache.hadoop.yarn.api.records.NodeLabel,Set<org.apache.hadoop.yarn.api.records.NodeId>> getLabelsInfoToNodes()
public Map<org.apache.hadoop.yarn.api.records.NodeLabel,Set<org.apache.hadoop.yarn.api.records.NodeId>> getLabelsInfoToNodes(Set<String> labels)
labels - set of nodelabels for which labels to nodes mapping will be
          returned.public Set<String> getClusterNodeLabelNames()
public List<org.apache.hadoop.yarn.api.records.NodeLabel> getClusterNodeLabels()
public boolean isExclusiveNodeLabel(String nodeLabel) throws IOException
IOExceptionpublic static void checkAndThrowLabelName(String label) throws IOException
IOExceptionprotected CommonNodeLabelsManager.Node getNMInNodeSet(org.apache.hadoop.yarn.api.records.NodeId nodeId)
protected CommonNodeLabelsManager.Node getNMInNodeSet(org.apache.hadoop.yarn.api.records.NodeId nodeId, Map<String,CommonNodeLabelsManager.Host> map)
protected CommonNodeLabelsManager.Node getNMInNodeSet(org.apache.hadoop.yarn.api.records.NodeId nodeId, Map<String,CommonNodeLabelsManager.Host> map, boolean checkRunning)
protected Set<String> getLabelsByNode(org.apache.hadoop.yarn.api.records.NodeId nodeId)
protected Set<String> getLabelsByNode(org.apache.hadoop.yarn.api.records.NodeId nodeId, Map<String,CommonNodeLabelsManager.Host> map)
public Set<org.apache.hadoop.yarn.api.records.NodeLabel> getLabelsInfoByNode(org.apache.hadoop.yarn.api.records.NodeId nodeId)
protected void createNodeIfNonExisted(org.apache.hadoop.yarn.api.records.NodeId nodeId)
                               throws IOException
IOExceptionprotected void createHostIfNonExisted(String hostName)
protected Map<org.apache.hadoop.yarn.api.records.NodeId,Set<String>> normalizeNodeIdToLabels(Map<org.apache.hadoop.yarn.api.records.NodeId,Set<String>> nodeIdToLabels)
public void setInitNodeLabelStoreInProgress(boolean initNodeLabelStoreInProgress)
Copyright © 2018 Apache Software Foundation. All Rights Reserved.