Package org.elasticsearch.node
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
-
Field Summary
Fields Modifier and Type Field Description static Setting<java.lang.String>
BREAKER_TYPE_KEY
static Setting.AffixSetting<java.lang.String>
NODE_ATTRIBUTES
static 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 (seeNODE_DATA_SETTING
).static Setting<java.lang.String>
NODE_NAME_SETTING
static Setting<java.lang.Boolean>
WRITE_PORTS_FILE_SETTING
-
Constructor Summary
Constructors Modifier Constructor Description Node(Environment environment)
protected
Node(Environment initialEnvironment, java.util.Collection<java.lang.Class<? extends Plugin>> classpathPlugins, boolean forbidPrivateIndexSettings)
Constructs a node -
Method Summary
Modifier and Type Method Description boolean
awaitClose(long timeout, java.util.concurrent.TimeUnit timeUnit)
Wait for this node to be effectively closed.Client
client()
A client that can be used to execute actions (operations) against the cluster.void
close()
protected void
configureNodeAndClusterIdStateListener(ClusterService clusterService)
static CircuitBreakerService
createCircuitBreakerService(Settings settings, java.util.List<BreakerSettings> breakerSettings, ClusterSettings clusterSettings)
Creates a newCircuitBreakerService
based on the settings provided.Environment
getEnvironment()
Returns the environment of the nodeNodeEnvironment
getNodeEnvironment()
Returns theNodeEnvironment
instance of this nodeprotected PluginsService
getPluginsService()
ThePluginsService
used to build this node's components.Injector
injector()
boolean
isClosed()
Returnstrue
if the node is closed.protected ClusterInfoService
newClusterInfoService(Settings settings, ClusterService clusterService, ThreadPool threadPool, NodeClient client)
Constructs a ClusterInfoService which may be mocked for tests.protected HttpServerTransport
newHttpTransport(NetworkModule networkModule)
Constructs aHttpServerTransport
which may be mocked for tests.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.protected SearchService
newSearchService(ClusterService clusterService, IndicesService indicesService, ThreadPool threadPool, ScriptService scriptService, BigArrays bigArrays, FetchPhase fetchPhase, ResponseCollectorService responseCollectorService, CircuitBreakerService circuitBreakerService)
Creates a new the SearchService.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)
protected void
processRecoverySettings(ClusterSettings clusterSettings, RecoverySettings recoverySettings)
Settings
settings()
The settings that are used by this node.Node
start()
Start the node.protected void
validateNodeBeforeAcceptingRequests(BootstrapContext context, BoundTransportAddress boundTransportAddress, java.util.List<BootstrapCheck> bootstrapChecks)
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.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Field Details
-
WRITE_PORTS_FILE_SETTING
-
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 (seeNODE_DATA_SETTING
). However, if this is false,NODE_DATA_SETTING
andNODE_MASTER_SETTING
must also be false. -
NODE_NAME_SETTING
-
NODE_ATTRIBUTES
-
BREAKER_TYPE_KEY
-
-
Constructor Details
-
Node
-
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 pluginsclasspathPlugins
- the plugins to be loaded from the classpathforbidPrivateIndexSettings
- 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
The settings that are used by this node. Contains original settings as well as additional settings provided by plugins. -
client
A client that can be used to execute actions (operations) against the cluster. -
getEnvironment
Returns the environment of the node -
getNodeEnvironment
Returns theNodeEnvironment
instance of this node -
start
Start the node. If the node is already started, this method is no-op.- Throws:
NodeValidationException
-
configureNodeAndClusterIdStateListener
-
close
public void close() throws java.io.IOException- Specified by:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfacejava.io.Closeable
- Throws:
java.io.IOException
-
awaitClose
public boolean awaitClose(long timeout, java.util.concurrent.TimeUnit timeUnit) throws java.lang.InterruptedExceptionWait for this node to be effectively closed.- Throws:
java.lang.InterruptedException
-
isClosed
public boolean isClosed()Returnstrue
if the node is closed. -
injector
-
validateNodeBeforeAcceptingRequests
protected void validateNodeBeforeAcceptingRequests(BootstrapContext context, BoundTransportAddress boundTransportAddress, java.util.List<BootstrapCheck> bootstrapChecks) throws NodeValidationExceptionHook 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 nodeboundTransportAddress
- the network addresses the node is bound and publishing to- Throws:
NodeValidationException
-
getPluginsService
ThePluginsService
used to build this node's components. -
createCircuitBreakerService
public static CircuitBreakerService createCircuitBreakerService(Settings settings, java.util.List<BreakerSettings> breakerSettings, ClusterSettings clusterSettings)Creates a newCircuitBreakerService
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
Constructs aHttpServerTransport
which may be mocked for tests.
-