I have run this command:
composer show elasticsearch/elasticsearch
then all stats of elastic search runs perfectly. Attached is the screenshot. Also, I have configured in the admin panel. The screenshot attached as well then why my connection always failed. Please fix this solution & alive cluster found error comes in your cluster.
Best Answer
I was also facing same issue, I have installed Elasticsearch in my Linux Mint & It's working fine. Here is the steps.
Run the below command to Install Elasticsearch In locally.
Download and install the public signing key :
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
Installing from the APT repositoryedit
You may need to install the apt-transport-https package on Debian before proceeding :
sudo apt-get install apt-transport-https
Save the repository definition to /etc/apt/sources.list.d/elastic-7.x.list :
echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elastic-7.x.list
You can install the Elasticsearch Debian package with :
sudo apt-get update && sudo apt-get install elasticsearch
Elasticsearch is not started automatically after installation. How to start and stop Elasticsearch depends on whether your system uses SysV
init
orsystemd
(used by newer distributions).ps -p 1
Running Elasticsearch with SysV
init
: Use theupdate-rc.d
command to configure Elasticsearch to start automatically when the system boots up :sudo update-rc.d elasticsearch defaults 95 10
Elasticsearch can be started and stopped using the
service
command :sudo -i service elasticsearch start
sudo -i service elasticsearch stop
Configure Apache and Elasticsearch : Set up a proxy (Set up a proxy for Apache 2.4)
Enable mod_proxy as follows :
a2enmod proxy_http
orsudo a2enmod proxy_http
Use a text editor to open /etc/apache2/sites-available/000-default.conf
Add the following directive at the top of the file :
Listen 8080
Add the following at the bottom of the file :
Restart Apache :
service apache2 restart
orsudo service apache2 restart
Verify the proxy works by entering the following command :
For example, if your proxy uses port 8080:
curl -i http://localhost:8080/_cluster/health
If curl request success then messages display like below :
HTTP/1.1 200 OK Date: Sun, 23 Aug 2020 06:05:56 GMT Server: Apache/2.4.18 (Ubuntu) content-type: application/json; charset=UTF-8 content-length: 389
{"cluster_name":"elasticsearch","status":"yellow","timed_out":false,"number_of_nodes":1,"number_of_data_nodes":1,"active_primary_shards":1,"active_shards":1,"relocating_shards":0,"initializing_shards":0,"unassigned_shards":1,"delayed_unassigned_shards":0,"number_of_pending_tasks":0,"number_of_in_flight_fetch":0,"task_max_waiting_in_queue_millis":0,"active_shards_percent_as_number":50.0}
Go to
Admin Panel -> Stores -> Settings -> Configuration -> Catalog -> Catalog Search
. Change the settings like below.Search Engine : Search Engine7
Elasticsearch Server Hostname : localhost
Elasticsearch Server Port : 8080
Elasticsearch Index Prefix : magento2
Enable Elasticsearch HTTP Auth : No
Elasticsearch Server Timeout : 15
Now save the configuration & run below cache clean command.
php bin/magento cache:clean
Now click on
Test Connection
button.After successful you will receive
Successful! Test again?
inTest Connection
button.Ref : Dev Docs & Elasticsearch
For More Click here