org.elasticsearch.cluster.node.DiscoveryNodes.resolveNodes()方法的使用及代码示例

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

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

DiscoveryNodes.resolveNodes介绍

[英]resolves a set of node "descriptions" to concrete and existing node ids. "descriptions" can be (resolved in this order): - "_local" or "_master" for the relevant nodes - a node id - a wild card pattern that will be matched against node names - a "attr:value" pattern, where attr can be a node role (master, data, ingest etc.) in which case the value can be true or false, or a generic node attribute name in which case value will be treated as a wildcard and matched against the node attribute values.
[中]将一组节点“描述”解析为具体的现有节点ID。“描述”可以(按此顺序解析):-“本地”或“主控”用于相关节点-节点id-将与节点名称匹配的通配符模式-一个“attr:value”模式,其中attr可以是节点角色(主控、数据、摄取等),在这种情况下,值可以是true或false,或通用节点属性名称,在这种情况下,值将被视为通配符并与节点属性值匹配。

代码示例

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

/**
 * Resolve a node with a given id
 *
 * @param node id of the node to discover
 * @return discovered node matching the given id
 * @throws IllegalArgumentException if more than one node matches the request or no nodes have been resolved
 */
public DiscoveryNode resolveNode(String node) {
  String[] resolvedNodeIds = resolveNodes(node);
  if (resolvedNodeIds.length > 1) {
    throw new IllegalArgumentException("resolved [" + node + "] into [" + resolvedNodeIds.length
      + "] nodes, where expected to be resolved to a single node");
  }
  if (resolvedNodeIds.length == 0) {
    throw new IllegalArgumentException("failed to resolve [" + node + "], no matching nodes");
  }
  return nodes.get(resolvedNodeIds[0]);
}

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

/**
 * resolve node ids to concrete nodes of the incoming request
 **/
protected void resolveRequest(NodesRequest request, ClusterState clusterState) {
  assert request.concreteNodes() == null : "request concreteNodes shouldn't be set";
  String[] nodesIds = clusterState.nodes().resolveNodes(request.nodesIds());
  request.setConcreteNodes(Arrays.stream(nodesIds).map(clusterState.nodes()::get).toArray(DiscoveryNode[]::new));
}

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

/**
 * Returns shards based on nodeAttributes given  such as node name , node attribute, node IP
 * Supports node specifications in cluster API
 */
public ShardIterator onlyNodeSelectorActiveInitializingShardsIt(String[] nodeAttributes, DiscoveryNodes discoveryNodes) {
  ArrayList<ShardRouting> ordered = new ArrayList<>(activeShards.size() + allInitializingShards.size());
  Set<String> selectedNodes = Sets.newHashSet(discoveryNodes.resolveNodes(nodeAttributes));
  int seed = shuffler.nextSeed();
  for (ShardRouting shardRouting : shuffler.shuffle(activeShards, seed)) {
    if (selectedNodes.contains(shardRouting.currentNodeId())) {
      ordered.add(shardRouting);
    }
  }
  for (ShardRouting shardRouting : shuffler.shuffle(allInitializingShards, seed)) {
    if (selectedNodes.contains(shardRouting.currentNodeId())) {
      ordered.add(shardRouting);
    }
  }
  if (ordered.isEmpty()) {
    final String message = String.format(
        Locale.ROOT,
        "no data nodes with %s [%s] found for shard: %s",
        nodeAttributes.length == 1 ? "criteria" : "criterion",
        String.join(",", nodeAttributes),
        shardId());
    throw new IllegalArgumentException(message);
  }
  return new PlainShardIterator(shardId, ordered);
}

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

protected String[] resolveNodes(TasksRequest request, ClusterState clusterState) {
  if (request.getTaskId().isSet()) {
    return new String[]{request.getTaskId().getNodeId()};
  } else {
    return clusterState.nodes().resolveNodes(request.getNodes());
  }
}

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

/**
 * Resolve a node with a given id
 *
 * @param node id of the node to discover
 * @return discovered node matching the given id
 * @throws IllegalArgumentException if more than one node matches the request or no nodes have been resolved
 */
public DiscoveryNode resolveNode(String node) {
  String[] resolvedNodeIds = resolveNodes(node);
  if (resolvedNodeIds.length > 1) {
    throw new IllegalArgumentException("resolved [" + node + "] into [" + resolvedNodeIds.length
      + "] nodes, where expected to be resolved to a single node");
  }
  if (resolvedNodeIds.length == 0) {
    throw new IllegalArgumentException("failed to resolve [" + node + "], no matching nodes");
  }
  return nodes.get(resolvedNodeIds[0]);
}

代码示例来源:origin: com.strapdata.elasticsearch/elasticsearch

/**
 * Resolve a node with a given id
 *
 * @param node id of the node to discover
 * @return discovered node matching the given id
 * @throws IllegalArgumentException if more than one node matches the request or no nodes have been resolved
 */
public DiscoveryNode resolveNode(String node) {
  String[] resolvedNodeIds = resolveNodes(node);
  if (resolvedNodeIds.length > 1) {
    throw new IllegalArgumentException("resolved [" + node + "] into [" + resolvedNodeIds.length
      + "] nodes, where expected to be resolved to a single node");
  }
  if (resolvedNodeIds.length == 0) {
    throw new IllegalArgumentException("failed to resolve [" + node + "], no matching nodes");
  }
  return nodes.get(resolvedNodeIds[0]);
}

代码示例来源:origin: apache/servicemix-bundles

/**
 * Resolve a node with a given id
 *
 * @param node id of the node to discover
 * @return discovered node matching the given id
 * @throws IllegalArgumentException if more than one node matches the request or no nodes have been resolved
 */
public DiscoveryNode resolveNode(String node) {
  String[] resolvedNodeIds = resolveNodes(node);
  if (resolvedNodeIds.length > 1) {
    throw new IllegalArgumentException("resolved [" + node + "] into [" + resolvedNodeIds.length
      + "] nodes, where expected to be resolved to a single node");
  }
  if (resolvedNodeIds.length == 0) {
    throw new IllegalArgumentException("failed to resolve [" + node + "], no matching nodes");
  }
  return nodes.get(resolvedNodeIds[0]);
}

代码示例来源:origin: com.strapdata.elasticsearch/elasticsearch

/**
 * resolve node ids to concrete nodes of the incoming request
 **/
protected void resolveRequest(NodesRequest request, ClusterState clusterState) {
  assert request.concreteNodes() == null : "request concreteNodes shouldn't be set";
  String[] nodesIds = clusterState.nodes().resolveNodes(request.nodesIds());
  request.setConcreteNodes(Arrays.stream(nodesIds).map(clusterState.nodes()::get).toArray(DiscoveryNode[]::new));
}

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

/**
 * resolve node ids to concrete nodes of the incoming request
 **/
protected void resolveRequest(NodesRequest request, ClusterState clusterState) {
  assert request.concreteNodes() == null : "request concreteNodes shouldn't be set";
  String[] nodesIds = clusterState.nodes().resolveNodes(request.nodesIds());
  request.setConcreteNodes(Arrays.stream(nodesIds).map(clusterState.nodes()::get).toArray(DiscoveryNode[]::new));
}

代码示例来源:origin: apache/servicemix-bundles

/**
 * resolve node ids to concrete nodes of the incoming request
 **/
protected void resolveRequest(NodesRequest request, ClusterState clusterState) {
  assert request.concreteNodes() == null : "request concreteNodes shouldn't be set";
  String[] nodesIds = clusterState.nodes().resolveNodes(request.nodesIds());
  request.setConcreteNodes(Arrays.stream(nodesIds).map(clusterState.nodes()::get).toArray(DiscoveryNode[]::new));
}

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

/**
 * Returns shards based on nodeAttributes given  such as node name , node attribute, node IP
 * Supports node specifications in cluster API
 */
public ShardIterator onlyNodeSelectorActiveInitializingShardsIt(String[] nodeAttributes, DiscoveryNodes discoveryNodes) {
  ArrayList<ShardRouting> ordered = new ArrayList<>(activeShards.size() + allInitializingShards.size());
  Set<String> selectedNodes = Sets.newHashSet(discoveryNodes.resolveNodes(nodeAttributes));
  int seed = shuffler.nextSeed();
  for (ShardRouting shardRouting : shuffler.shuffle(activeShards, seed)) {
    if (selectedNodes.contains(shardRouting.currentNodeId())) {
      ordered.add(shardRouting);
    }
  }
  for (ShardRouting shardRouting : shuffler.shuffle(allInitializingShards, seed)) {
    if (selectedNodes.contains(shardRouting.currentNodeId())) {
      ordered.add(shardRouting);
    }
  }
  if (ordered.isEmpty()) {
    final String message = String.format(
        Locale.ROOT,
        "no data nodes with %s [%s] found for shard: %s",
        nodeAttributes.length == 1 ? "criteria" : "criterion",
        String.join(",", nodeAttributes),
        shardId());
    throw new IllegalArgumentException(message);
  }
  return new PlainShardIterator(shardId, ordered);
}

代码示例来源:origin: com.strapdata.elasticsearch/elasticsearch

/**
 * Returns shards based on nodeAttributes given  such as node name , node attribute, node IP
 * Supports node specifications in cluster API
 */
public ShardIterator onlyNodeSelectorActiveInitializingShardsIt(String[] nodeAttributes, DiscoveryNodes discoveryNodes) {
  ArrayList<ShardRouting> ordered = new ArrayList<>(activeShards.size() + allInitializingShards.size());
  Set<String> selectedNodes = Sets.newHashSet(discoveryNodes.resolveNodes(nodeAttributes));
  int seed = shuffler.nextSeed();
  for (ShardRouting shardRouting : shuffler.shuffle(activeShards, seed)) {
    if (selectedNodes.contains(shardRouting.currentNodeId())) {
      ordered.add(shardRouting);
    }
  }
  for (ShardRouting shardRouting : shuffler.shuffle(allInitializingShards, seed)) {
    if (selectedNodes.contains(shardRouting.currentNodeId())) {
      ordered.add(shardRouting);
    }
  }
  if (ordered.isEmpty()) {
    final String message = String.format(
        Locale.ROOT,
        "no data nodes with %s [%s] found for shard: %s",
        nodeAttributes.length == 1 ? "criteria" : "criterion",
        String.join(",", nodeAttributes),
        shardId());
    throw new IllegalArgumentException(message);
  }
  return new PlainShardIterator(shardId, ordered);
}

代码示例来源:origin: apache/servicemix-bundles

/**
 * Returns shards based on nodeAttributes given  such as node name , node attribute, node IP
 * Supports node specifications in cluster API
 */
public ShardIterator onlyNodeSelectorActiveInitializingShardsIt(String[] nodeAttributes, DiscoveryNodes discoveryNodes) {
  ArrayList<ShardRouting> ordered = new ArrayList<>(activeShards.size() + allInitializingShards.size());
  Set<String> selectedNodes = Sets.newHashSet(discoveryNodes.resolveNodes(nodeAttributes));
  int seed = shuffler.nextSeed();
  for (ShardRouting shardRouting : shuffler.shuffle(activeShards, seed)) {
    if (selectedNodes.contains(shardRouting.currentNodeId())) {
      ordered.add(shardRouting);
    }
  }
  for (ShardRouting shardRouting : shuffler.shuffle(allInitializingShards, seed)) {
    if (selectedNodes.contains(shardRouting.currentNodeId())) {
      ordered.add(shardRouting);
    }
  }
  if (ordered.isEmpty()) {
    final String message = String.format(
        Locale.ROOT,
        "no data nodes with %s [%s] found for shard: %s",
        nodeAttributes.length == 1 ? "criteria" : "criterion",
        String.join(",", nodeAttributes),
        shardId());
    throw new IllegalArgumentException(message);
  }
  return new PlainShardIterator(shardId, ordered);
}

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

protected String[] resolveNodes(TasksRequest request, ClusterState clusterState) {
  if (request.getTaskId().isSet()) {
    return new String[]{request.getTaskId().getNodeId()};
  } else {
    return clusterState.nodes().resolveNodes(request.getNodes());
  }
}

代码示例来源:origin: apache/servicemix-bundles

protected String[] resolveNodes(TasksRequest request, ClusterState clusterState) {
  if (request.getTaskId().isSet()) {
    return new String[]{request.getTaskId().getNodeId()};
  } else {
    return clusterState.nodes().resolveNodes(request.getNodes());
  }
}

代码示例来源:origin: com.strapdata.elasticsearch/elasticsearch

protected String[] resolveNodes(TasksRequest request, ClusterState clusterState) {
  if (request.getTaskId().isSet()) {
    return new String[]{request.getTaskId().getNodeId()};
  } else {
    return clusterState.nodes().resolveNodes(request.getNodes());
  }
}

相关文章

微信公众号

最新文章

更多