Book Image

Mastering Elasticsearch 5.x - Third Edition

By : Bharvi Dixit
Book Image

Mastering Elasticsearch 5.x - Third Edition

By: Bharvi Dixit

Overview of this book

Elasticsearch is a modern, fast, distributed, scalable, fault tolerant, and open source search and analytics engine. Elasticsearch leverages the capabilities of Apache Lucene, and provides a new level of control over how you can index and search even huge sets of data. This book will give you a brief recap of the basics and also introduce you to the new features of Elasticsearch 5. We will guide you through the intermediate and advanced functionalities of Elasticsearch, such as querying, indexing, searching, and modifying data. We’ll also explore advanced concepts, including aggregation, index control, sharding, replication, and clustering. We’ll show you the modules of monitoring and administration available in Elasticsearch, and will also cover backup and recovery. You will get an understanding of how you can scale your Elasticsearch cluster to contextualize it and improve its performance. We’ll also show you how you can create your own analysis plugin in Elasticsearch. By the end of the book, you will have all the knowledge necessary to master Elasticsearch and put it to efficient use.
Table of Contents (20 chapters)
Mastering Elasticsearch 5.x - Third Edition
About the Author
About the Reviewer
Customer Feedback

Node types in Elasticsearch

In Elasticsearch you can configure five types of nodes:

  • Data node

  • Master node

  • Ingest node

  • Tribe node

  • Coordinating node

Let us see how these nodes differ from each other and how to configure them.

Data node

A data node in Elasticsearch is responsible for holding the data, segment merging, and query executions. Data nodes are the real work horses of your cluster and need higher configuration than any other type of node in the cluster.

By default, every node is eligible to be a data node. A dedicated data node can be configured by adding the following lines in the /etc/elasticsearch/elasticsearch.yml file: true  
node.master: false 
node.ingest: false 

The main benefit of having a dedicated data node is the separation between data and master node.

Master node

A master node is responsible for management of the complete cluster. It hold the states of all the nodes and periodically distributes the cluster state to all other nodes in the cluster, to make...