Class Node

java.lang.Object
org.elasticsearch.node.Node
All Implemented Interfaces:
java.io.Closeable, java.lang.AutoCloseable

public class Node
extends java.lang.Object
implements java.io.Closeable
A node represent a node within a cluster (cluster.name). The client() can be used in order to use a Client to perform actions/operations against the cluster.
  • Field Details

    • WRITE_PORTS_FILE_SETTING

      public static final Setting<java.lang.Boolean> WRITE_PORTS_FILE_SETTING
    • NODE_LOCAL_STORAGE_SETTING

      public static final Setting<java.lang.Boolean> NODE_LOCAL_STORAGE_SETTING
      controls whether the node is allowed to persist things like metadata to disk Note that this does not control whether the node stores actual indices (see NODE_DATA_SETTING). However, if this is false, NODE_DATA_SETTING and NODE_MASTER_SETTING must also be false.
    • NODE_NAME_SETTING

      public static final Setting<java.lang.String> NODE_NAME_SETTING
    • NODE_ATTRIBUTES

      public static final Setting.AffixSetting<java.lang.String> NODE_ATTRIBUTES
    • BREAKER_TYPE_KEY

      public static final Setting<java.lang.String> BREAKER_TYPE_KEY
  • Constructor Details

    • Node

      public Node​(Environment environment)
    • Node

      protected Node​(Environment initialEnvironment, java.util.Collection<java.lang.Class<? extends Plugin>> classpathPlugins, boolean forbidPrivateIndexSettings)
      Constructs a node
      Parameters:
      initialEnvironment - the initial environment for this node, which will be added to by plugins
      classpathPlugins - the plugins to be loaded from the classpath
      forbidPrivateIndexSettings - whether or not private index settings are forbidden when creating an index; this is used in the test framework for tests that rely on being able to set private settings
  • Method Details

    • newTransportService

      protected TransportService newTransportService​(Settings settings, Transport transport, ThreadPool threadPool, TransportInterceptor interceptor, java.util.function.Function<BoundTransportAddress,​DiscoveryNode> localNodeFactory, ClusterSettings clusterSettings, java.util.Set<java.lang.String> taskHeaders)
    • processRecoverySettings

      protected void processRecoverySettings​(ClusterSettings clusterSettings, RecoverySettings recoverySettings)
    • settings

      public Settings settings()
      The settings that are used by this node. Contains original settings as well as additional settings provided by plugins.
    • client

      public Client client()
      A client that can be used to execute actions (operations) against the cluster.
    • getEnvironment

      public Environment getEnvironment()
      Returns the environment of the node
    • getNodeEnvironment

      public NodeEnvironment getNodeEnvironment()
      Returns the NodeEnvironment instance of this node
    • start

      public Node start() throws NodeValidationException
      Start the node. If the node is already started, this method is no-op.
      Throws:
      NodeValidationException
    • configureNodeAndClusterIdStateListener

      protected void configureNodeAndClusterIdStateListener​(ClusterService clusterService)
    • close

      public void close() throws java.io.IOException
      Specified by:
      close in interface java.lang.AutoCloseable
      Specified by:
      close in interface java.io.Closeable
      Throws:
      java.io.IOException
    • awaitClose

      public boolean awaitClose​(long timeout, java.util.concurrent.TimeUnit timeUnit) throws java.lang.InterruptedException
      Wait for this node to be effectively closed.
      Throws:
      java.lang.InterruptedException
    • isClosed

      public boolean isClosed()
      Returns true if the node is closed.
    • injector

      public Injector injector()
    • validateNodeBeforeAcceptingRequests

      protected void validateNodeBeforeAcceptingRequests​(BootstrapContext context, BoundTransportAddress boundTransportAddress, java.util.List<BootstrapCheck> bootstrapChecks) throws NodeValidationException
      Hook for validating the node after network services are started but before the cluster service is started and before the network service starts accepting incoming network requests.
      Parameters:
      context - the bootstrap context for this node
      boundTransportAddress - the network addresses the node is bound and publishing to
      Throws:
      NodeValidationException
    • getPluginsService

      protected PluginsService getPluginsService()
      The PluginsService used to build this node's components.
    • createCircuitBreakerService

      public static CircuitBreakerService createCircuitBreakerService​(Settings settings, java.util.List<BreakerSettings> breakerSettings, ClusterSettings clusterSettings)
      Creates a new CircuitBreakerService based on the settings provided.
      See Also:
      BREAKER_TYPE_KEY
    • newSearchService

      protected SearchService newSearchService​(ClusterService clusterService, IndicesService indicesService, ThreadPool threadPool, ScriptService scriptService, BigArrays bigArrays, FetchPhase fetchPhase, ResponseCollectorService responseCollectorService, CircuitBreakerService circuitBreakerService)
      Creates a new the SearchService. This method can be overwritten by tests to inject mock implementations.
    • newScriptService

      protected ScriptService newScriptService​(Settings settings, java.util.Map<java.lang.String,​ScriptEngine> engines, java.util.Map<java.lang.String,​ScriptContext<?>> contexts)
      Creates a new the ScriptService. This method can be overwritten by tests to inject mock implementations.
    • newClusterInfoService

      protected ClusterInfoService newClusterInfoService​(Settings settings, ClusterService clusterService, ThreadPool threadPool, NodeClient client)
      Constructs a ClusterInfoService which may be mocked for tests.
    • newHttpTransport

      protected HttpServerTransport newHttpTransport​(NetworkModule networkModule)
      Constructs a HttpServerTransport which may be mocked for tests.