Understanding node services
When a node is running, a lot of services are managed by its instance. These services provide additional functionalities to a node and they cover different behaviors such as networking, indexing, analyzing and so on.
Getting ready
Every ElasticSearch server that is running provides services.
How it works...
ElasticSearch natively provides a large set of functionalities that can be extended with additional plugins.
During a node startup, a lot of required services are automatically started. The most important are:
- Cluster services: These manage the cluster state, intra-node communication, and synchronization.
- Indexing Service: This manages all indexing operations, initializing all active indices and shards.
- Mapping Service: This manages the document types stored in the cluster (we'll discuss mapping in Chapter 3, Managing Mapping).
- Network Services: These are services such as HTTP REST services (default on port 9200), internal ES protocol (port 9300) and the Thrift server (port 9500), applicable only if the Thrift plugin is installed.
- Plugin Service: This enables us to enhance the basic ElasticSearch functionality in a customizable manner. (It's discussed in Chapter 2, Downloading and Setting Up, for installation and Chapter 12, Plugin Development, for detailed usage.)
- River Service: It is a pluggable service running within ElasticSearch cluster, pulling data (or being pushed with data) that is then indexed into the cluster. (We'll see it in Chapter 8, Rivers.)
- Language Scripting Services: They allow you to add new language scripting support to ElasticSearch.
Note
Throughout this book, we'll see recipes that interact with ElasticSearch services. Every base functionality or extended functionality is managed in ElasticSearch as a service.