Elasticsuite: Indexer handler is not available: elasticsuite

Created on 11 Apr 2018  路  10Comments  路  Source: Smile-SA/elasticsuite

Preconditions


Magento Version : 2.2.3 CE


ElasticSuite Version : 2.5.0


Environment : developer


Third party modules :

Steps to reproduce

  1. Installed elasticsearch 5.6.8 on debian 9 (stretch) as per documentation: https://www.elastic.co/guide/en/elasticsearch/reference/5.6/deb.html
  2. Installed ES modules phonetic and UCI
  3. restarted ES
  4. verified ES is running with "curl localhost:9200"
  5. followed instructions: https://github.com/Smile-SA/elasticsuite/wiki/ModuleInstall

Expected result

  1. It should work as expected

Actual result

  1. Frontend category view: error: No alive nodes found in your cluster
  2. Indexer failed (bin/magento indexer:reindex) with error in exception.log: main.CRITICAL: Indexer handler is not available: elasticsuite {"exception":"[object] (LogicException(code: 0): Indexer handler is not available: elasticsuite at /www/vendor/magento/module-catalog-search/Model/Indexer/IndexerHandlerFactory.php:88)"} []

Most helpful comment

Ok,

problem is on the smile_elasticsuite_core_base_settings/es_client/servers parameter.

You have node-1:9200, node-2:9200 as values. These are example values, in your case it should be localhost:9200.

Regards

All 10 comments

Hello @DocOlson and thank you for testing our module and submitting an issue.

Could you please give me a bit more detail about your architecture ?

Where did you install your Magento instance ? Is it on the same Debian 9 instance than the one you are running Elasticsearch ?

Yes, magento is running on the same machine (PHP 7.1.16).

Well that's kinda strange.

Could you post the output of these commands :

curl localhost:9200
bin/magento config:show | grep elasticsuite
composer info | grep elasticsearch

curl localhost:9200

{
"name" : "b18ZrE0",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "2eOYWs8fQTeXZCiTvkxNbA",
"version" : {
"number" : "5.6.8",
"build_hash" : "688ecce",
"build_date" : "2018-02-16T16:46:30.010Z",
"build_snapshot" : false,
"lucene_version" : "6.6.1"
},
"tagline" : "You Know, for Search"
}

bin/magento config:show | grep elasticsuite

smile_elasticsuite_core_base_settings/es_client/servers - node-1:9200,node-2:9200
smile_elasticsuite_core_base_settings/es_client/enable_https_mode - 0
smile_elasticsuite_core_base_settings/es_client/enable_http_auth - 0
smile_elasticsuite_core_base_settings/es_client/http_auth_user -
smile_elasticsuite_core_base_settings/es_client/http_auth_pwd -

composer info | grep elasticsearch

elasticsearch/elasticsearch v5.3.2 PHP Client for Elasticsearch

Ok,

problem is on the smile_elasticsuite_core_base_settings/es_client/servers parameter.

You have node-1:9200, node-2:9200 as values. These are example values, in your case it should be localhost:9200.

Regards

Wonderful, thank you very much :)

for anyone who is facing the same issue and coming from a docker-compose background!
just change the 'servers' value inapp/etc/env.phpto:in my case it waselasticsearch:9200` since my docker-compose was like

 elasticsearch:
    build: images/elasticsearch
    ports:
      - "9200:9200"
      - "9300:9300"

Hallo, i'm facing the same problem inside Magento Cloud.
Our settings are Php7.3, elasticsearch 6.5, smile/elasticsuite: ^2.8

With these settings on my local machine elasticsuite works great but in the cloud when i run
bin/magento indexer:reindex i get: Indexer handler is not available: elasticsuite

curl return me this:

curl -XGET elasticsearch.internal:9200
{
  "name" : "_0qifsU",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "zY4FgrqXSOmNLUlj0yakKw",
  "version" : {
    "number" : "6.5.4",
    "build_flavor" : "default",
    "build_type" : "deb",
    "build_hash" : "82a8aa7",
    "build_date" : "2019-01-23T12:07:18.760675Z",
    "build_snapshot" : false,
    "lucene_version" : "7.5.0",
    "minimum_wire_compatibility_version" : "5.6.0",
    "minimum_index_compatibility_version" : "5.0.0"
  },
  "tagline" : "You Know, for Search"
}

Hallo, i'm facing the same problem inside Magento Cloud.
Our settings are Php7.3, elasticsearch 6.5, smile/elasticsuite: ^2.8

With these settings on my local machine elasticsuite works great but in the cloud when i run
bin/magento indexer:reindex i get: Indexer handler is not available: elasticsuite

curl return me this:

curl -XGET elasticsearch.internal:9200
{
  "name" : "_0qifsU",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "zY4FgrqXSOmNLUlj0yakKw",
  "version" : {
    "number" : "6.5.4",
    "build_flavor" : "default",
    "build_type" : "deb",
    "build_hash" : "82a8aa7",
    "build_date" : "2019-01-23T12:07:18.760675Z",
    "build_snapshot" : false,
    "lucene_version" : "7.5.0",
    "minimum_wire_compatibility_version" : "5.6.0",
    "minimum_index_compatibility_version" : "5.0.0"
  },
  "tagline" : "You Know, for Search"
}

Hello, @mbrioski did you find any solution for it?

@abbasalibutt there's not solution... i guess you get this problem inside integration environment in the cloud: if this is the case is a resource problem.
The same problem doesn't happen on production because there are more resources allocated.

Was this page helpful?
0 / 5 - 0 ratings