Elasticsearch service not running

This article provides solutions for errors you can experience when the Elasticsearch (ES) service is not running (usually as a result of crashing). Symptoms can include errors when running health checks using curl, reindexing using the command line, Exception and PHP errors, and errors on product pages. The table lists errors and links to resources to attempt to solve them. One symptom can have a range of different causes.

Elasticsearch version compatibility with Adobe Commerce

  • Adobe Commerce on-premises and Adobe Commerce on cloud infrastructure:

    • v2.2.3+ supports ES 5.x
    • v2.2.8+ and v2.3.1+ support ES 6.x
    • ES v2.x and v5.x are not recommended because of End of Life. However, if you have Adobe Commerce v2.3.1 and want to use ES 2.x or ES 5.x, you must Change the Elasticsearch php Client.
  • Magento Open Source v2.3.0+ supports ES 5.x and 6.x (but 6.x is recommended).

Symptoms when ES service is not running
Exception errors
{"0":"{\"error\":{\"root_cause\":[{\"type\":\"illegal_argument_exception\",\"reason\":\"Fielddata is disabled on text fields by default. Set fielddata=true on [%attribute_code%]] in order to load fielddata in memory by uninverting the inverted index. Note that this can however use significant memory.\"}]
Elasticsearch 5 is configured, but search page does not load with "Fielddata is disabled..." error in our support knowledge base.
Elasticsearch\Common\Exceptions\NoNodesAvailableException: Noticed exception 'Elasticsearch\Common\Exceptions\NoNodesAvailableException' with message 'No alive nodes found in your cluster' in /app/<projectid>/vendor/elasticsearch/elasticsearch/src/Elasticsearch/ConnectionPool/StaticNoPingConnectionPool.php:51
Elasticsuite indices not being deleted. See ElasticSuite tracking indices causes problems with Elasticsearch in our support knowledge base.
PHP error
No alive nodes found in your cluster","1":"#0 /app/<projectid>/vendor/elasticsearch/elasticsearch/src/Elasticsearch/Transport.php
Curl error
Running the curl command to check Elasticsearch health:curl -m1 localhost:9200/_cluster/health?pretty(orcurl -m1 elasticsearch.internal:9200/_cluster/health?prettyfor Starter accounts) produces this error: Error: curl: (7) Failed to connect to localhost port 9200: Connection refused
Command-line error
Running $ bin/magento indexer:reindex catalogsearch_fulltext produces this error Catalog Search indexer process unknown error: No alive nodes found in your cluster
Error on product pages
There has been an error processing your request. Exception printing is disabled by default for security reasons