org.elasticsearch.cluster.ClusterState.getNodes()方法的使用及代码示例

x33g5p2x  于2022-01-18 转载在 其他  
字(9.3k)|赞(0)|评价(0)|浏览(80)

本文整理了Java中org.elasticsearch.cluster.ClusterState.getNodes()方法的一些代码示例,展示了ClusterState.getNodes()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ClusterState.getNodes()方法的具体详情如下:
包路径:org.elasticsearch.cluster.ClusterState
类名称:ClusterState
方法名:getNodes

ClusterState.getNodes介绍

暂无

代码示例

代码示例来源:origin: floragunncom/search-guard

final int numberOfNodes = clusterService.state().getNodes().getSize();

代码示例来源:origin: floragunncom/search-guard

@Before
public void setup() {
  when(dns.getSize()).thenReturn(10);
  when(cstate.getNodes()).thenReturn(dns);
  when(cs.state()).thenReturn(cstate);
}

代码示例来源:origin: pentaho/pentaho-kettle

String name = cluResp.getClusterName().value();
ClusterState cluState = cluResp.getState();
int numNodes = cluState.getNodes().getSize();
showMessage( BaseMessages.getString( PKG, "ElasticSearchBulkDialog.TestCluster.TestOK", name, numNodes ) );
break;

代码示例来源:origin: org.elasticsearch/elasticsearch

private static String getMasterNodeId(ClusterState clusterState) {
  if (clusterState == null) {
    return null;
  }
  DiscoveryNodes nodes = clusterState.getNodes();
  if (nodes != null) {
    return nodes.getMasterNodeId();
  } else {
    return null;
  }
}

代码示例来源:origin: org.elasticsearch/elasticsearch

/**
 * The local node.
 */
public DiscoveryNode localNode() {
  DiscoveryNode localNode = state().getNodes().getLocalNode();
  if (localNode == null) {
    throw new IllegalStateException("No local node found. Is the node started?");
  }
  return localNode;
}

代码示例来源:origin: org.elasticsearch/elasticsearch

static int defaultMaxConcurrentSearches(int availableProcessors, ClusterState state) {
  int numDateNodes = state.getNodes().getDataNodes().size();
  // availableProcessors will never be larger than 32, so max defaultMaxConcurrentSearches will never be larger than 49,
  // but we don't know about about other search requests that are being executed so lets cap at 10 per node
  int defaultSearchThreadPoolSize = Math.min(ThreadPool.searchThreadPoolSize(availableProcessors), 10);
  return Math.max(1, numDateNodes * defaultSearchThreadPoolSize);
}

代码示例来源:origin: org.elasticsearch/elasticsearch

static Collection<BiConsumer<DiscoveryNode,ClusterState>> addBuiltInJoinValidators(
  Collection<BiConsumer<DiscoveryNode,ClusterState>> onJoinValidators) {
  Collection<BiConsumer<DiscoveryNode, ClusterState>> validators = new ArrayList<>();
  validators.add((node, state) -> {
    MembershipAction.ensureNodesCompatibility(node.getVersion(), state.getNodes());
    MembershipAction.ensureIndexCompatibility(node.getVersion(), state.getMetaData());
  });
  validators.addAll(onJoinValidators);
  return Collections.unmodifiableCollection(validators);
}

代码示例来源:origin: org.elasticsearch/elasticsearch

@Override
  public void applyClusterState(ClusterChangedEvent event) {
    ingestNodes = event.state().getNodes().getIngestNodes().values().toArray(DiscoveryNode.class);
  }
}

代码示例来源:origin: org.elasticsearch/elasticsearch

/**
 * Finds the least loaded node that satisfies the selector criteria
 */
protected DiscoveryNode selectLeastLoadedNode(ClusterState clusterState, Predicate<DiscoveryNode> selector) {
  long minLoad = Long.MAX_VALUE;
  DiscoveryNode minLoadedNode = null;
  PersistentTasksCustomMetaData persistentTasks = clusterState.getMetaData().custom(PersistentTasksCustomMetaData.TYPE);
  for (DiscoveryNode node : clusterState.getNodes()) {
    if (selector.test(node)) {
      if (persistentTasks == null) {
        // We don't have any task running yet, pick the first available node
        return node;
      }
      long numberOfTasks = persistentTasks.getNumberOfTasksOnNode(node.getId(), taskName);
      if (minLoad > numberOfTasks) {
        minLoad = numberOfTasks;
        minLoadedNode = node;
      }
    }
  }
  return minLoadedNode;
}

代码示例来源:origin: org.elasticsearch/elasticsearch

@Override
public void applyClusterState(ClusterChangedEvent event) {
  lastDiscoveryNodes = event.state().getNodes();
  if (event.nodesRemoved()) {
    synchronized (banedParents) {
      lastDiscoveryNodes = event.state().getNodes();
      // Remove all bans that were registered by nodes that are no longer in the cluster state
      Iterator<TaskId> banIterator = banedParents.keySet().iterator();
      while (banIterator.hasNext()) {
        TaskId taskId = banIterator.next();
        if (lastDiscoveryNodes.nodeExists(taskId.getNodeId()) == false) {
          logger.debug("Removing ban for the parent [{}] on the node [{}], reason: the parent node is gone", taskId,
            event.state().getNodes().getLocalNode());
          banIterator.remove();
        }
      }
    }
    // Cancel cancellable tasks for the nodes that are gone
    for (Map.Entry<Long, CancellableTaskHolder> taskEntry : cancellableTasks.entrySet()) {
      CancellableTaskHolder holder = taskEntry.getValue();
      CancellableTask task = holder.getTask();
      TaskId parentTaskId = task.getParentTaskId();
      if (parentTaskId.isSet() && lastDiscoveryNodes.nodeExists(parentTaskId.getNodeId()) == false) {
        if (task.cancelOnParentLeaving()) {
          holder.cancel("Coordinating node [" + parentTaskId.getNodeId() + "] left the cluster");
        }
      }
    }
  }
}

代码示例来源:origin: org.elasticsearch/elasticsearch

void handleJoinRequest(final DiscoveryNode node, final ClusterState state, final MembershipAction.JoinCallback callback) {
  if (nodeJoinController == null) {
    throw new IllegalStateException("discovery module is not yet started");
  } else {
    // we do this in a couple of places including the cluster update thread. This one here is really just best effort
    // to ensure we fail as fast as possible.
    onJoinValidators.stream().forEach(a -> a.accept(node, state));
    if (state.getBlocks().hasGlobalBlock(STATE_NOT_RECOVERED_BLOCK) == false) {
      MembershipAction.ensureMajorVersionBarrier(node.getVersion(), state.getNodes().getMinNodeVersion());
    }
    // try and connect to the node, if it fails, we can raise an exception back to the client...
    transportService.connectToNode(node);
    // validate the join request, will throw a failure if it fails, which will get back to the
    // node calling the join request
    try {
      membership.sendValidateJoinRequestBlocking(node, state, joinTimeout);
    } catch (Exception e) {
      logger.warn(() -> new ParameterizedMessage("failed to validate incoming join request from node [{}]", node),
        e);
      callback.onFailure(new IllegalStateException("failure when sending a validation request to node", e));
      return;
    }
    nodeJoinController.handleJoinRequest(node, callback);
  }
}

代码示例来源:origin: org.elasticsearch/elasticsearch

@Override
public void onMaster() {
  this.isMaster = true;
  if (logger.isTraceEnabled()) {
    logger.trace("I have been elected master, scheduling a ClusterInfoUpdateJob");
  }
  try {
    // Submit a job that will start after DEFAULT_STARTING_INTERVAL, and reschedule itself after running
    threadPool.schedule(updateFrequency, executorName(), new SubmitReschedulingClusterInfoUpdatedJob());
    if (clusterService.state().getNodes().getDataNodes().size() > 1) {
      // Submit an info update job to be run immediately
      threadPool.executor(executorName()).execute(() -> maybeRefresh());
    }
  } catch (EsRejectedExecutionException ex) {
    if (logger.isDebugEnabled()) {
      logger.debug("Couldn't schedule cluster info update task - node might be shutting down", ex);
    }
  }
}

代码示例来源:origin: org.elasticsearch/elasticsearch

public void logMinimumMasterNodesWarningIfNecessary(ClusterState oldState, ClusterState newState) {
  // check if min_master_nodes setting is too low and log warning
  if (hasTooManyMasterNodes(oldState.nodes()) == false && hasTooManyMasterNodes(newState.nodes())) {
    logger.warn("value for setting \"{}\" is too low. This can result in data loss! Please set it to at least a quorum of master-" +
        "eligible nodes (current value: [{}], total number of master-eligible nodes used for publishing in this round: [{}])",
      ElectMasterService.DISCOVERY_ZEN_MINIMUM_MASTER_NODES_SETTING.getKey(), minimumMasterNodes(),
      newState.getNodes().getMasterNodes().size());
  }
}

代码示例来源:origin: org.elasticsearch/elasticsearch

int nodeCount = state.getNodes().getDataNodes().size();

代码示例来源:origin: org.elasticsearch/elasticsearch

executeSearch((SearchTask)task, timeProvider, searchRequest, localIndices, Collections.emptyList(),
    (clusterName, nodeId) -> null, clusterState, Collections.emptyMap(), listener,
    clusterState.getNodes().getDataNodes().size(), SearchResponse.Clusters.EMPTY);
} else {
  remoteClusterService.collectSearchShards(searchRequest.indicesOptions(), searchRequest.preference(),
        remoteClusterIndices, remoteShardIterators, remoteAliasFilters);
      int numNodesInvolved = searchShardsResponses.values().stream().mapToInt(r -> r.getNodes().length).sum()
        + clusterState.getNodes().getDataNodes().size();
      SearchResponse.Clusters clusters = buildClusters(localIndices, remoteClusterIndices, searchShardsResponses);
      executeSearch((SearchTask) task, timeProvider, searchRequest, localIndices,

代码示例来源:origin: org.elasticsearch/elasticsearch

DiscoveryNode currentMasterNode = this.clusterState().getNodes().getMasterNode();
if (currentMasterNode == null) {

代码示例来源:origin: org.elasticsearch/elasticsearch

int currentNode = 0;
for (String nodeId : nodeIds) {
  nodes[currentNode++] = clusterState.getNodes().get(nodeId);

代码示例来源:origin: org.elasticsearch/elasticsearch

ClusterBlocks.Builder blocks = ClusterBlocks.builder().blocks(currentState.blocks());
RoutingTable.Builder routingTableBuilder = RoutingTable.builder(currentState.routingTable());
final Version minIndexCompatibilityVersion = currentState.getNodes().getMaxNodeVersion()
  .minimumIndexCompatibilityVersion();
boolean importNeeded = false;

代码示例来源:origin: org.elasticsearch/elasticsearch

if (this.isMaster && dataNodeAdded && event.state().getNodes().getDataNodes().size() > 1) {
  if (logger.isDebugEnabled()) {
    logger.debug("data node was added, retrieving new cluster info");

代码示例来源:origin: org.elasticsearch/elasticsearch

ClusterBlocks.Builder blocksBuilder = ClusterBlocks.builder()
    .blocks(currentState.blocks());
final Version minIndexCompatibilityVersion = currentState.getNodes().getMaxNodeVersion()
  .minimumIndexCompatibilityVersion();
for (IndexMetaData closedMetaData : indicesToOpen) {

相关文章