Skip to content

ServerConfig 7.x

Richard Bayet edited this page Oct 23, 2020 · 4 revisions

ElasticSearch 7.x server configuration

⚠️ ElasticSearch 7.x is supported by ElasticSuite >= 2.9.0. If you are using an older version, please install ElasticSearch 6.x (ElasticSearch 6.x server configuration)

Installing Prerequisites.

First, you will need a Java Runtime Environment (JRE) because Elasticsearch is written in the Java programming language.

You can use the native OpenJDK package for the JRE. This JRE is free, well-supported, and automatically managed through most of installation managers (such as APT, YUM, DNF, etc...).

Use one of the following commands, according to your distribution :

  • Debian/Ubuntu/Other APT based distros :
sudo apt-get install openjdk-8-jre
  • CentOS and others YUM based distros :
su -c "yum install java-1.8.0-openjdk"
  • DNF based distros :
sudo dnf install java-1.8.0-openjdk

Installing ElasticSearch.

You can install ElasticSearch via their official repositories.

ElasticSearch is available for YUM/DNF and APT based distros.

  • Install via APT

If you are on an APT based distro (Ubuntu, Debian, etc...), follow these instructions. If you are using a YUM or DNF based distro (CentOS, Fedora, Redhat, etc...), please refer to the Install via YUM / DNF section.

Download and install the Public Signing Key:

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -

Save the repository definition :

sudo apt-get install apt-transport-https
echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elastic-7.x.list

Run apt-get update and the repository is ready for use. You can then install ElasticSearch with:

sudo apt-get update && sudo apt-get install elasticsearch
  • Install via YUM / DNF

Download and install the public signing key:

rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

Add the following in your /etc/yum.repos.d/ directory in a file with a .repo suffix, for example elasticsearch.repo

[elasticsearch-7.x]
name=Elasticsearch repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md

And your repository is ready for use. You can install it with:

sudo yum install elasticsearch

Or, for newer versions of Fedora and Redhat:

sudo dnf install elasticsearch 
  • Starting the server

Now you can try to start the ElasticSearch instance (depending on your distro, the install script may have not started it) :

sudo service elasticsearch start

You can then test that your ES instance is started by checking the response of the following command :

curl localhost:9200

This should produce something like the following output :

{
  "name" : "1804bionic",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "IsoLGoTcS8SLs-rc2xu0Ng",
  "version" : {
    "number" : "7.9.3",
    "build_flavor" : "default",
    "build_type" : "deb",
    "build_hash" : "c4138e51121ef06a6404866cddc601906fe5c868",
    "build_date" : "2020-10-16T10:36:16.141335Z",
    "build_snapshot" : false,
    "lucene_version" : "8.6.2",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}

Installing required plugins.

You have now to install some plugins that are required by Smile Elastic Suite.

Plugins can be installed with the bin/elasticsearch-plugin tool of Elastic Search.

You have to go to your Elastic Search installation directory.

Locate your "Home" directory ( Look for Settings -> Path -> Home in the following command output for value ).

curl "localhost:9200/_nodes/settings?pretty=true"
...
      "settings" : {
        "pidfile" : "/var/run/elasticsearch/elasticsearch.pid",
        "cluster" : {
          "name" : "elasticsearch"
        },
        "path" : {
          "conf" : "/etc/elasticsearch",
          "data" : "/var/lib/elasticsearch",
          "logs" : "/var/log/elasticsearch",
          "home" : "/usr/share/elasticsearch"
        },

...

Goto "Home" directory :

cd /usr/share/elasticsearch

Install plugins :

bin/elasticsearch-plugin install analysis-phonetic
bin/elasticsearch-plugin install analysis-icu

Restart ElasticSearch node in order to apply change :

sudo service elasticsearch restart

Note : If you are using an ElasticSearch cluster with several nodes you have to install the plugins on each nodes.

Use ElasticSearch as a service.

You can refer to the official documentation to have your ElasticSearch instance running as a service, according to your distro :

Next Step

Once you are done with this and you have a running ElasticSearch instance with all required plugins, you can go to the next step : Install and configure the Magento module.

Clone this wiki locally