Package org.elasticsearch.node
Class Node
- java.lang.Object
-
- org.elasticsearch.node.Node
-
- All Implemented Interfaces:
java.io.Closeable
,java.lang.AutoCloseable
public abstract 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_DATA_SETTING
static Setting<java.lang.Boolean>
NODE_INGEST_SETTING
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.Boolean>
NODE_MASTER_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(Settings preparedSettings)
Constructs a node with the given settings.Node(Environment environment)
protected
Node(Environment environment, java.util.Collection<java.lang.Class<? extends Plugin>> classpathPlugins, boolean forbidPrivateIndexSettings)
Constructs a node
-
Method Summary
Modifier and Type Method Description Client
client()
A client that can be used to execute actions (operations) against the cluster.void
close()
static CircuitBreakerService
createCircuitBreakerService(Settings settings, 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, java.util.function.Consumer<ClusterInfo> listeners)
Constructs a ClusterInfoService which may be mocked for tests.protected SearchService
newSearchService(ClusterService clusterService, IndicesService indicesService, ThreadPool threadPool, ScriptService scriptService, BigArrays bigArrays, FetchPhase fetchPhase, ResponseCollectorService responseCollectorService)
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)
protected abstract void
registerDerivedNodeNameWithLogger(java.lang.String nodeName)
If the node name was derived from the node id this is called with the node name as soon as it is available so that we can register the node name with the logger.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.
-
-
-
Field Detail
-
WRITE_PORTS_FILE_SETTING
public static final Setting<java.lang.Boolean> WRITE_PORTS_FILE_SETTING
-
NODE_DATA_SETTING
public static final Setting<java.lang.Boolean> NODE_DATA_SETTING
-
NODE_MASTER_SETTING
public static final Setting<java.lang.Boolean> NODE_MASTER_SETTING
-
NODE_INGEST_SETTING
public static final Setting<java.lang.Boolean> NODE_INGEST_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 (seeNODE_DATA_SETTING
). However, if this is false,NODE_DATA_SETTING
andNODE_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 Detail
-
Node
public Node(Settings preparedSettings)
Constructs a node with the given settings.- Parameters:
preparedSettings
- Base settings to configure the node with
-
Node
public Node(Environment environment)
-
Node
protected Node(Environment environment, java.util.Collection<java.lang.Class<? extends Plugin>> classpathPlugins, boolean forbidPrivateIndexSettings)
Constructs a node- Parameters:
environment
- the environment for this nodeclasspathPlugins
- 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 Detail
-
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 theNodeEnvironment
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
-
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
-
isClosed
public boolean isClosed()
Returnstrue
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 nodeboundTransportAddress
- the network addresses the node is bound and publishing to- Throws:
NodeValidationException
-
getPluginsService
protected PluginsService getPluginsService()
ThePluginsService
used to build this node's components.
-
createCircuitBreakerService
public static CircuitBreakerService createCircuitBreakerService(Settings settings, 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)
Creates a new the SearchService. This method can be overwritten by tests to inject mock implementations.
-
newClusterInfoService
protected ClusterInfoService newClusterInfoService(Settings settings, ClusterService clusterService, ThreadPool threadPool, NodeClient client, java.util.function.Consumer<ClusterInfo> listeners)
Constructs a ClusterInfoService which may be mocked for tests.
-
registerDerivedNodeNameWithLogger
protected abstract void registerDerivedNodeNameWithLogger(java.lang.String nodeName)
If the node name was derived from the node id this is called with the node name as soon as it is available so that we can register the node name with the logger. If the node name defined in elasticsearch.yml this is never called.
-
-