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

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

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

DiscoveryNodes.builder介绍

暂无

代码示例

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

@Override
protected void doStart() {
  DiscoveryNode localNode = transportService.getLocalNode();
  assert localNode != null;
  synchronized (stateMutex) {
    // set initial state
    assert committedState.get() == null;
    assert localNode != null;
    ClusterState.Builder builder = clusterApplier.newClusterStateBuilder();
    ClusterState initialState = builder
      .blocks(ClusterBlocks.builder()
        .addGlobalBlock(STATE_NOT_RECOVERED_BLOCK)
        .addGlobalBlock(discoverySettings.getNoMasterBlock()))
      .nodes(DiscoveryNodes.builder().add(localNode).localNodeId(localNode.getId()))
      .build();
    committedState.set(initialState);
    clusterApplier.setInitialState(initialState);
    nodesFD.setLocalNode(localNode);
    joinThreadControl.start();
  }
  zenPing.start();
}

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

protected ClusterState createInitialState(DiscoveryNode localNode) {
  ClusterState.Builder builder = clusterApplier.newClusterStateBuilder();
  return builder.nodes(DiscoveryNodes.builder().add(localNode)
      .localNodeId(localNode.getId())
      .masterNodeId(localNode.getId())
      .build())
    .blocks(ClusterBlocks.builder()
      .addGlobalBlock(STATE_NOT_RECOVERED_BLOCK))
    .build();
}

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

@Override
public ClusterTasksResult<Task> execute(final ClusterState currentState, final List<Task> tasks) throws Exception {
  final DiscoveryNodes.Builder remainingNodesBuilder = DiscoveryNodes.builder(currentState.nodes());
  boolean removed = false;
  for (final Task task : tasks) {
    if (currentState.nodes().nodeExists(task.node())) {
      remainingNodesBuilder.remove(task.node());
      removed = true;
    } else {
      logger.debug("node [{}] does not exist in cluster state, ignoring", task);
    }
  }
  if (!removed) {
    // no nodes to remove, keep the current cluster state
    return ClusterTasksResult.<Task>builder().successes(tasks).build(currentState);
  }
  final ClusterState remainingNodesClusterState = remainingNodesClusterState(currentState, remainingNodesBuilder);
  final ClusterTasksResult.Builder<Task> resultBuilder = ClusterTasksResult.<Task>builder().successes(tasks);
  if (electMasterService.hasEnoughMasterNodes(remainingNodesClusterState.nodes()) == false) {
    final int masterNodes = electMasterService.countMasterNodes(remainingNodesClusterState.nodes());
    rejoin.accept(LoggerMessageFormat.format("not enough master nodes (has [{}], but needed [{}])",
                         masterNodes, electMasterService.minimumMasterNodes()));
    return resultBuilder.build(currentState);
  } else {
    return resultBuilder.build(allocationService.deassociateDeadNodes(remainingNodesClusterState, true, describeTasks(tasks)));
  }
}

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

private ClusterState.Builder becomeMasterAndTrimConflictingNodes(ClusterState currentState, List<DiscoveryNode> joiningNodes) {
  assert currentState.nodes().getMasterNodeId() == null : currentState;
  DiscoveryNodes currentNodes = currentState.nodes();
  DiscoveryNodes.Builder nodesBuilder = DiscoveryNodes.builder(currentNodes);
  nodesBuilder.masterNodeId(currentState.nodes().getLocalNodeId());
  for (final DiscoveryNode joiningNode : joiningNodes) {
    final DiscoveryNode nodeWithSameId = nodesBuilder.get(joiningNode.getId());
    if (nodeWithSameId != null && nodeWithSameId.equals(joiningNode) == false) {
      logger.debug("removing existing node [{}], which conflicts with incoming join from [{}]", nodeWithSameId, joiningNode);
      nodesBuilder.remove(nodeWithSameId.getId());
    }
    final DiscoveryNode nodeWithSameAddress = currentNodes.findByAddress(joiningNode.getAddress());
    if (nodeWithSameAddress != null && nodeWithSameAddress.equals(joiningNode) == false) {
      logger.debug("removing existing node [{}], which conflicts with incoming join from [{}]", nodeWithSameAddress,
        joiningNode);
      nodesBuilder.remove(nodeWithSameAddress.getId());
    }
  }
  // now trim any left over dead nodes - either left there when the previous master stepped down
  // or removed by us above
  ClusterState tmpState = ClusterState.builder(currentState).nodes(nodesBuilder).blocks(ClusterBlocks.builder()
    .blocks(currentState.blocks())
    .removeGlobalBlock(DiscoverySettings.NO_MASTER_BLOCK_ID)).build();
  return ClusterState.builder(allocationService.deassociateDeadNodes(tmpState, false,
    "removed dead nodes on election"));
}

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

DiscoveryNodes.Builder nodesBuilder = DiscoveryNodes.builder(newState.nodes());

代码示例来源:origin: io.fabric8.insight/insight-elasticsearch-discovery

@Override
public DiscoveryNodes nodes() {
  DiscoveryNodes latestNodes = this.latestDiscoNodes;
  if (latestNodes != null) {
    return latestNodes;
  }
  // have not decided yet, just send the local node
  return DiscoveryNodes.builder().put(localNode).localNodeId(localNode.id()).build();
}

代码示例来源:origin: jboss-fuse/fabric8

@Override
public DiscoveryNodes nodes() {
  DiscoveryNodes latestNodes = this.latestDiscoNodes;
  if (latestNodes != null) {
    return latestNodes;
  }
  // have not decided yet, just send the local node
  return DiscoveryNodes.builder().put(localNode).localNodeId(localNode.id()).build();
}

代码示例来源:origin: io.fabric8.insight/insight-elasticsearch

@Override
public DiscoveryNodes nodes() {
  DiscoveryNodes latestNodes = this.latestDiscoNodes;
  if (latestNodes != null) {
    return latestNodes;
  }
  // have not decided yet, just send the local node
  return DiscoveryNodes.builder().put(localNode).localNodeId(localNode.id()).build();
}

代码示例来源:origin: harbby/presto-connectors

@Override
public ClusterState execute(ClusterState currentState) {
  if (!masterNode.id().equals(currentState.nodes().masterNodeId())) {
    // master got switched on us, no need to send anything
    return currentState;
  }
  DiscoveryNodes discoveryNodes = DiscoveryNodes.builder(currentState.nodes())
      // make sure the old master node, which has failed, is not part of the nodes we publish
      .remove(masterNode.id())
      .masterNodeId(null).build();
  // flush any pending cluster states from old master, so it will not be set as master again
  ArrayList<ProcessClusterState> pendingNewClusterStates = new ArrayList<>();
  processNewClusterStates.drainTo(pendingNewClusterStates);
  logger.trace("removed [{}] pending cluster states", pendingNewClusterStates.size());
  return rejoin(ClusterState.builder(currentState).nodes(discoveryNodes).build(), "master left (reason = " + reason + ")");
}

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

public static MasterService createMasterService(ThreadPool threadPool, DiscoveryNode localNode) {
  ClusterState initialClusterState = ClusterState.builder(new ClusterName(ClusterServiceUtils.class.getSimpleName()))
    .nodes(DiscoveryNodes.builder()
      .add(localNode)
      .localNodeId(localNode.getId())
      .masterNodeId(localNode.getId()))
    .blocks(ClusterBlocks.EMPTY_CLUSTER_BLOCK).build();
  return createMasterService(threadPool, initialClusterState);
}

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

@Override
public ClusterTasksResult<DiscoveryNode> execute(
    final ClusterState current,
    final List<DiscoveryNode> tasks) throws Exception {
  assert tasks.size() == 1;
  final DiscoveryNodes.Builder nodes =
      DiscoveryNodes.builder(current.nodes());
  // always set the local node as master, there will not be other nodes
  nodes.masterNodeId(localNode().getId());
  final ClusterState next =
      ClusterState.builder(current).nodes(nodes).build();
  final ClusterTasksResult.Builder<DiscoveryNode> result =
      ClusterTasksResult.builder();
  return result.successes(tasks).build(next);
}

代码示例来源:origin: harbby/presto-connectors

@Override
public ClusterState execute(ClusterState currentState) {
  DiscoveryNodes.Builder nodesBuilder = DiscoveryNodes.builder();
  for (LocalDiscovery discovery : clusterGroups.get(clusterName).members()) {
    nodesBuilder.put(discovery.localNode());
  }
  nodesBuilder.localNodeId(master.localNode().id()).masterNodeId(master.localNode().id());
  return ClusterState.builder(currentState).nodes(nodesBuilder).build();
}

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

@Override
public ClusterTasksResult<LocalClusterUpdateTask> execute(ClusterState currentState) {
  DiscoveryNodes.Builder nodesBuilder = DiscoveryNodes.builder();
  for (LocalDiscovery discovery : clusterGroups.get(clusterName).members()) {
    nodesBuilder.add(discovery.localNode());
  }
  nodesBuilder.localNodeId(master.localNode().getId()).masterNodeId(master.localNode().getId());
  return newState(ClusterState.builder(currentState).nodes(nodesBuilder).build());
}

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

@Override
public ClusterTasksResult<LocalClusterUpdateTask> execute(ClusterState currentState) {
  DiscoveryNodes.Builder nodesBuilder = DiscoveryNodes.builder();
  for (LocalDiscovery discovery : clusterGroups.get(clusterName).members()) {
    nodesBuilder.add(discovery.localNode());
  }
  nodesBuilder.localNodeId(master.localNode().getId()).masterNodeId(master.localNode().getId());
  currentState = ClusterState.builder(currentState).nodes(nodesBuilder).build();
  return newState(master.allocationService.reroute(currentState, "node_add"));
}

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

@Override
protected synchronized void doStart() {
  Objects.requireNonNull(clusterStatePublisher, "please set a cluster state publisher before starting");
  Objects.requireNonNull(nodeConnectionsService, "please set the node connection service before starting");
  Objects.requireNonNull(discoverySettings, "please set discovery settings before starting");
  addListener(localNodeMasterListeners);
  DiscoveryNode localNode = localNodeSupplier.get();
  assert localNode != null;
  updateState(state -> {
    assert state.nodes().getLocalNodeId() == null : "local node is already set";
    DiscoveryNodes nodes = DiscoveryNodes.builder(state.nodes()).add(localNode).localNodeId(localNode.getId()).build();
    return ClusterState.builder(state).nodes(nodes).blocks(initialBlocks).build();
  });
  this.threadPoolExecutor = EsExecutors.newSinglePrioritizing(UPDATE_THREAD_NAME,
    daemonThreadFactory(settings, UPDATE_THREAD_NAME), threadPool.getThreadContext(), threadPool.scheduler());
  this.taskBatcher = new ClusterServiceTaskBatcher(logger, threadPoolExecutor);
}

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

protected ClusterState createInitialState(DiscoveryNode localNode) {
  ClusterState.Builder builder = clusterApplier.newClusterStateBuilder();
  return builder.nodes(DiscoveryNodes.builder().add(localNode)
      .localNodeId(localNode.getId())
      .masterNodeId(localNode.getId())
      .build())
    .blocks(ClusterBlocks.builder()
      .addGlobalBlock(STATE_NOT_RECOVERED_BLOCK))
    .build();
}

代码示例来源:origin: harbby/presto-connectors

@Override
public ClusterState execute(ClusterState currentState) {
  DiscoveryNodes.Builder nodesBuilder = DiscoveryNodes.builder();
  for (LocalDiscovery discovery : clusterGroups.get(clusterName).members()) {
    nodesBuilder.put(discovery.localNode());
  }
  nodesBuilder.localNodeId(master.localNode().id()).masterNodeId(master.localNode().id());
  // remove the NO_MASTER block in this case
  ClusterBlocks.Builder blocks = ClusterBlocks.builder().blocks(currentState.blocks()).removeGlobalBlock(discoverySettings.getNoMasterBlock());
  return ClusterState.builder(currentState).nodes(nodesBuilder).blocks(blocks).build();
}

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

protected ClusterState createInitialState(DiscoveryNode localNode) {
  ClusterState.Builder builder = clusterApplier.newClusterStateBuilder();
  return builder.nodes(DiscoveryNodes.builder().add(localNode)
      .localNodeId(localNode.getId())
      .masterNodeId(localNode.getId())
      .build())
    .blocks(ClusterBlocks.builder()
      .addGlobalBlock(STATE_NOT_RECOVERED_BLOCK))
    .build();
}

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

@Override
protected ClusterState createInitialState(DiscoveryNode localNode) {
  ClusterBlocks.Builder clusterBlocks = ClusterBlocks.builder(); // don't add no_master / state recovery block
  if (BLOCKS_WRITE_SETTING.get(settings)) {
    clusterBlocks.addGlobalBlock(TRIBE_WRITE_BLOCK);
  }
  if (BLOCKS_METADATA_SETTING.get(settings)) {
    clusterBlocks.addGlobalBlock(TRIBE_METADATA_BLOCK);
  }
  return ClusterState.builder(ClusterName.CLUSTER_NAME_SETTING.get(settings))
    .nodes(DiscoveryNodes.builder().add(localNode).localNodeId(localNode.getId()).build())
    .blocks(clusterBlocks).build();
}

代码示例来源:origin: harbby/presto-connectors

@Override
protected void doStart() {
  add(localNodeMasterListeners);
  add(taskManager);
  this.clusterState = ClusterState.builder(clusterState).blocks(initialBlocks).build();
  this.updateTasksExecutor = EsExecutors.newSinglePrioritizing(UPDATE_THREAD_NAME, daemonThreadFactory(settings, UPDATE_THREAD_NAME));
  this.reconnectToNodes = threadPool.schedule(reconnectInterval, ThreadPool.Names.GENERIC, new ReconnectToNodes());
  Map<String, String> nodeAttributes = discoveryNodeService.buildAttributes();
  // note, we rely on the fact that its a new id each time we start, see FD and "kill -9" handling
  final String nodeId = DiscoveryService.generateNodeId(settings);
  final TransportAddress publishAddress = transportService.boundAddress().publishAddress();
  DiscoveryNode localNode = new DiscoveryNode(settings.get("name"), nodeId, publishAddress, nodeAttributes, version);
  DiscoveryNodes.Builder nodeBuilder = DiscoveryNodes.builder().put(localNode).localNodeId(localNode.id());
  this.clusterState = ClusterState.builder(clusterState).nodes(nodeBuilder).blocks(initialBlocks).build();
  this.transportService.setLocalNode(localNode);
}

相关文章

微信公众号

最新文章

更多