Elasticsearch Cluster APIsIn Elasticsearch, cluster API fetches the information about a cluster and its node. It also makes further changes in them. With the help of Cluster API, we can perform the 21 operations at the cluster level. We can use this API to manage our clusters. We need to specify node name, address or _local keyword along with the GET method to call this API. As we said, this is a distributed environment where we have a lot of nodes and this Elasticsearch environment can be multi-node deployment as well. So, in this case, cluster API gives us information with respect to the cluster. Below some essential points of cluster API -
For Example Response You will get the output same as the below response. Following are some of the commands, which can execute to get more information about a cluster: Cluster HealthUsing this API, we can check the health status of the cluster. The cluster health API helps to fetch the health of the cluster. It returns the cluster status as red, yellow, or green for stop, running, or ready, respectively. Append the _cluster and health keyword in URL and get the status on the cluster health. Execute the following code and get the response: Copy Code Response You will get the output like the below response. Screenshot Cluster StateThis API is used to get information about the cluster state. The state information contains the cluster name, state_uuid, version, master node, metadata, routing table, blocks, and much more. Append the _cluster and state keyword in URL and get the information about the cluster state. Execute the following code and get the state information: Copy Code Response You will get the output like the below response. Screenshot Cluster StatsStats stands for statistics. By using stats keyword, we can retrieve the statistics about cluster. It returns the statistics information about cluster along with shard number, memory usage, store size, roles, OS, number of nodes, and file system. Append the _cluster and stats keyword in URL and get the information about cluster statistics. Execute the following code and get the statistics information of cluster: Copy code Response You will get the output like the below response. Screenshot Pending Cluster TasksThe pending cluster tasks API manages all the pending tasks in any cluster. It monitors tasks like create index, allocate or fail shard, and update mapping, etc. To monitor these tasks, append the _cluster and pending_tasks in URL and fetch all the remaining/pending tasks in the cluster. Copy the following code and execute the query: Copy Code Response You will get the output like the below response if there is no pending task in the cluster. Screenshot Cluster RerouteThe cluster reroute API is responsible for moving shards from one node to another. It can also allocate any unassigned shards and cancels the allocation of any shard. To successfully execute this query, we require to use the POST request method. Look at the following example below and execute it on your system: Copy Code Response You will get the output like the below response. Screenshot Cluster Update SettingsThis API helps to update the setting of a cluster. Use the settings keyword to update cluster settings. Most of the cluster level APIs allow the user to specify the node to execute. There are two types of settings -
Execute the following code and get the response: Copy Code Response By executing the above query, you will get the output like the below response. Screenshot Persistent API We can update settings to be persistent settings. Below is an example of persistent update: Copy Code Response By executing the above query, you will get the output like the below response. Screenshot Transient API We can update settings to be transient settings. Below is an example of persistent update: Copy Code Response By executing the above query, you will get the output like the below response. Screenshot Node StatsThe node stats API helps to retrieve the statistics about the node of the cluster. Node stats and cluster stats are almost same. We can retrieve the statistics for any number of nodes. To retrieve the statistics for a node, append _stats keyword along with _nodes keyword in URL. Copy the following code and execute the query on your system: Copy Code Response By executing the above query, you will get the output like the below response. Screenshot You will get the output same as in the below screenshot. Node hot_threadsThis API is responsible for retrieving information about the current hot threads for each node in a cluster. To retrieve the information for hot thread on each node, append hot_threads keyword along with _nodes keyword in URL and get the respond in response body. GET method is used to send this http request. Copy the following code and execute the query on your system. It will take a bit of time to execute completely. Copy Code Response By executing the above query, you will get the output like the below response. Next TopicMigrations between Versions |