Elasticsearch curl commands and references
A collection of Elasticsearch curl commands and references.
Get Cluster Health
cluster health:
curl -s http://localhost:9200/_cluster/health?pretty
Get indices
indices:
curl -s http://localhost:9200/_cat/indices
Get shards
shards:
curl -s http://localhost:9200/_cat/shards
Stuck Unassigned Shards
Sometimes shards fail to assign and they hit a maximum retry. For example, say there’s a replica shard that is unassigned and won’t assign. Running this command has it retry:
curl -s -XPOST 'localhost:9200/_cluster/reroute?retry_failed' -H 'Content-Type: application/json' -d'
{
"commands" : [
{
"allocate_replica" : {
"index" : "INDEXNAME", "shard" : 0,
"node" : "NODENAME"
}
}
]
}
'
In the above example, INDEXNAME
is the index, NODENAME
is the node. Also, the shard is shard 0
.
Update Indices to Modify Replication
In some cases, an index is created with no replicas. To modify the index, run:
curl -s -XPUT 'localhost:9200/INDEXNAME/_settings?pretty' -H 'Content-Type: application/json' -d'
{
"index" : {
"number_of_replicas" : 1
}
}
'
The above will update the INDEXNAME
index to a replica of 1 (so 1 master, 1 replica).