Book Image

Monitoring Elasticsearch

By : Dan Noble, Pulkit Agrawal, Mahmoud Lababidi
Book Image

Monitoring Elasticsearch

By: Dan Noble, Pulkit Agrawal, Mahmoud Lababidi

Overview of this book

ElasticSearch is a distributed search server similar to Apache Solr with a focus on large datasets, a schema-less setup, and high availability. This schema-free architecture allows ElasticSearch to index and search unstructured content, making it perfectly suited for both small projects and large big data warehouses with petabytes of unstructured data. This book is your toolkit to teach you how to keep your cluster in good health, and show you how to diagnose and treat unexpected issues along the way. You will start by getting introduced to ElasticSearch, and look at some common performance issues that pop up when using the system. You will then see how to install and configure ElasticSearch and the ElasticSearch monitoring plugins. Then, you will proceed to install and use the Marvel dashboard to monitor ElasticSearch. You will find out how to troubleshoot some of the common performance and reliability issues that come up when using ElasticSearch. Finally, you will analyze your cluster’s historical performance, and get to know how to get to the bottom of and recover from system failures. This book will guide you through several monitoring tools, and utilizes real-world cases and dilemmas faced when using ElasticSearch, showing you how to solve them simply, quickly, and cleanly.
Table of Contents (15 chapters)
Monitoring Elasticsearch
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Cluster setup


This section covers configuring a three-node Elasticsearch cluster and loading it with Twitter data.

Cluster configuration

Setting up an Elasticsearch cluster is simple. All nodes in the cluster should be on the same local network and have the same version of Java and Elasticsearch installed. For our cluster, we'll use three Ubuntu Linux 14.04 virtual hosts: elasticsearch-node-01, elasticsearch-node-02, and elasticsearch-node-03.

After installing Elasticsearch on all hosts, update the elasticsearch.yml configuration file on each, as follows:

  • The configuration for elasticsearch-node-01 is as follows:

    cluster.name: my_elasticsearch_cluster
    node.name: "elasticsearch-node-01"
    discovery.zen.ping.multicast.enabled: false
    discovery.zen.ping.unicast.hosts: ["elasticsearch-node-02", "elasticsearch-node-03"]
    index.routing.allocation.disable_allocation: false
    cluster.routing.allocation.enable : all
  • The configuration for elasticsearch-node-02 is as follows:

    cluster.name: my_elasticsearch_cluster...