GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

Installieren Sie ElasticSearch unter CentOS 7 / Debian 9 / Ubuntu 16.04 / Linux Mint 18

Elasticsearch ist ein Open-Source-Suchserver auf Unternehmensebene, der auf Apache Lucene basiert und eine verteilte Suche und Analyse in Echtzeit mit einer RESTful-Webschnittstelle und schemafreien JSON-Dokumenten bietet. Elasticsearch wird in Java entwickelt und unter der Apache-Lizenz veröffentlicht. Derzeit belegt es den zweiten Platz in der beliebtesten Unternehmenssuchmaschine hinter Apache Solr.

Diese Anleitung hilft Ihnen bei der Installation von Elasticsearch unter CentOS 7 /Ubuntu 16.04 / Linux Mint 18 .

Voraussetzungen

Wie bereits gesagt, Elasticsearch wird in Java entwickelt. Stellen Sie sicher, dass Sie das neueste JDK auf Ihrem System installiert haben. Befolgen Sie die nachstehenden Tutorials, um Oracle JDK unter Linux zu installieren.

LESEN :So installieren Sie Java JDK 8 auf Ubuntu 16.04 / Linux Mint 18

LESEN :So installieren Sie Java SDK 1.8 auf RHEL 7 / CentOS 7

Überprüfen Sie die auf dem System installierte JDK-Version.

java -version

Ausgabe:

openjdk version "1.8.0_131"
OpenJDK Runtime Environment (build 1.8.0_131-8u131-b11-2ubuntu1.16.04.3-b11)
OpenJDK 64-Bit Server VM (build 25.131-b11, mixed mode)

Elasticsearch installieren

Elasticsearch kann direkt von der offiziellen Website heruntergeladen werden, darüber hinaus bietet es ein vorgefertigtes Binärpaket für RHEL- und Debian-Derivate.

Laden Sie den öffentlichen Signaturschlüssel herunter und installieren Sie ihn.

### Debian 9 / Ubuntu 16.04 & Linux Mint 18 ###

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

### RHEL 7 / CentOS 7 ###

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

Fügen Sie das Elasticsearch-Repository hinzu und aktivieren Sie es.

### Debian 9 / Ubuntu 16.04 & Linux Mint 18 ###

$ echo "deb https://artifacts.elastic.co/packages/5.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elk.list

### RHEL 7 / CentOS 7 ###

# cat <<EOF >> /etc/yum.repos.d/elasticsearch.repo
[elasticsearch-5.x]
name=Elasticsearch repository for 5.x packages
baseurl=https://artifacts.elastic.co/packages/5.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
EOF

Installieren Sie Elasticsearch mit dem folgenden Befehl.

### Debian 9 / Ubuntu 16.04 & Linux Mint 18 ###

$ sudo apt-get update 
$ sudo apt-get install -y elasticsearch

### RHEL 7 / CentOS 7 ###

# yum -y install elasticsearch

Konfigurieren Sie Elasticsearch so, dass es während des Systemstarts automatisch gestartet wird.

### Debian 9 / Ubuntu 16.04 & Linux Mint 18 ###

$ sudo systemctl enable elasticsearch
$ sudo systemctl start elasticsearch

### RHEL 7 / CentOS 7 ###

# systemctl daemon-reload
# systemctl enable elasticsearch
# systemctl start elasticsearch

Elasticsearch konfigurieren

Elasticsearch-Konfigurationsdateien befinden sich im Verzeichnis /etc/elasticsearch/; Sie konnten nur zwei Dateien darin sehen, elasticsearch.yml und logging.yml.

Logging.yml verwaltet die Protokollierung von Elasticsearch, und Protokolldateien werden im Verzeichnis /var/log/elasticsearch gespeichert.

elasticsearch.yml ist die Hauptkonfigurationsdatei von Elasticsearch und enthält Standardeinstellungen für den Betrieb des Produktionsclusters.

Elasticsearch bindet sich standardmäßig an alle Netzwerkkarten (0.0.0.0) und lauscht auf Port Nr. 9200 – 9300 auf HTTP-Verkehr und auf 9300 – 9400 auf interne Knoten-zu-Knoten-Kommunikation. Bereiche bedeutet, dass, wenn der Port belegt ist, dies der Fall ist automatisch den nächsten Port versuchen.

Bearbeiten Sie die Datei elasticsearch.yml.

# vi /etc/elasticsearch/elasticsearch.yml

Damit Elasticsearch auf einer bestimmten IP lauscht, platzieren Sie die IP-Adresse in der folgenden Syntax. Um Elasticsearch vor öffentlichem Zugriff zu schützen, können Sie es so einstellen, dass es auf localhost lauscht.

### Listening on particular IPv4 ###

network.bind_host: 192.168.0.1

### Disabling public access ###

network.bind_host: 127.0.0.1

Starten Sie den Elasticsearch-Dienst neu.

# service elasticsearch restart

Warten Sie nach dem Neustart mindestens eine Minute, damit Elasticsearch vollständig gestartet werden kann. Andernfalls schlägt der Test fehl. Elastisearch sollte jetzt auf 9200 lauschen, um die HTTP-Anfrage zu verarbeiten; Wir verwenden CURL, um die Antwort zu erhalten.

# curl -X GET 'http://localhost:9200'

Sie sollten die folgende Antwort erhalten.

{
  "name" : "gf5QYAn",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "S6gZNkMERpSr-MGXqEFUJw",
  "version" : {
    "number" : "5.5.2",
    "build_hash" : "b2f0c09",
    "build_date" : "2017-08-14T12:33:14.154Z",
    "build_snapshot" : false,
    "lucene_version" : "6.6.0"
  },
  "tagline" : "You Know, for Search"
}

Alternativ können Sie einen Browser verwenden, um die Elasticsearch abzufragen. Sie sollten dasselbe sehen, was Sie mit Curl gesehen haben.

Elasticsearch-Cluster

Clustername

Die Einstellung cluster.name wird verwendet, um andere Knoten zu erkennen und automatisch beizutreten. Wenn eine Gruppe von Elasticsearch-Servern im selben Netzwerk denselben Clusternamen hat, erkennen sie sich gegenseitig. Stellen Sie sicher, dass Sie den Standard-Clusternamen des Elasticsearch-Servers ändern, um zu vermeiden, dass andere Server im selben Netzwerk, das nicht unter Ihrer Kontrolle steht, automatisch hinzugefügt werden.

Wenn Sie mehrere Elasticsearch-Cluster im selben Netzwerk ausführen, stellen Sie sicher, dass Sie eindeutige Clusternamen verwenden.

cluster.name:<NAME OF YOUR CLUSTER>

Knotenname

Der Knotenname ist wie ein Hostname für den Elasticsearch-Server, der während des Dienststarts dynamisch generiert wird. Sie können ihm Ihren eigenen Namen geben, indem Sie die folgende Syntax festlegen.

node.name: "<NAME OF YOUR NODE>"

Vergessen Sie nicht, den Elasticsearch-Dienst neu zu starten.

# service elasticsearch restart

Verwendung von Elasticsearch

Lassen Sie uns einige Daten zu Elasticsearch hinzufügen. Wir können curl verwenden, um mit Elasticsearch über Port 9200 mit einer RESTful-API zu kommunizieren. Mit curl können wir die Daten über die API lesen, hinzufügen, löschen und aktualisieren. Dokumente werden im folgenden Format gespeichert

Elasticsearch  ⇒ Indizes   ⇒ Typen  ⇒ Dokumente ⇒ Felder

Indizes =Plural eines Indexes, wo die Daten von Elasticsearch gespeichert werden.

Typen =Enthält mehrere Dokumente, es ist wie der Datentyp.

Dokumente =Es enthält die Datenfelder.

Felder =Aktuelle Detaildaten.

Hinzufügen

Verwenden Sie den folgenden Curl-Befehl, um Daten zu unserer Elasticsearch hinzuzufügen.

# curl -X POST 'http://localhost:9200/itzgeek/howtos/1' -d '{
"Title" : "Installing Elasticsearch",
"Date" :  "March 2015",
"Tag" :        "Ubuntu,CentOS,LinuxMint"
}'

Sie sollten die folgende Antwort erhalten.

{"_index":"itzgeek","_type":"howtos","_id":"1","_version":1,"created":true}

Wo

„itzgeek“ ist der Index des Elasticsearch-Clusters.

"Anleitungen" ist die Art des Dokuments

"1" ist die ID des Eintrags unter howtos und itzgeek index.

Lesen

Sie können den folgenden Befehl verwenden, um die Daten auf Elasticsearch abzufragen.

# curl -X GET 'http://localhost:9200/itzgeek/howtos/1'

Hängen Sie ?pretty=true an, um eine formatierte Ausgabe zu erhalten.

# curl -X GET 'http://localhost:9200/itzgeek/howtos/1?pretty=true'

Die Ausgabe sieht wie folgt aus.

{
"_index" : "itzgeek",
"_type" : "howtos",
"_id" : "1",
"_version" : 1,
"found" : true,
"_source":{
"Title" : "Installing Elasticsearch",
"Date" :  "March 2015",
"Tag" :        "Ubuntu,CentOS,LinuxMint"
}
}

Aktualisieren

Um das vollständige Dokument zu aktualisieren, verwenden Sie den folgenden POST-Befehl. An Index, Typ und Dokument ändert sich nichts; Felder haben geänderte Daten.

# curl -X POST 'http://localhost:9200/itzgeek/howtos/1' -d '{
"Title" : "Installing LogStash",
"Date" :  "March 2015",
"Tag" :        "Ubuntu,CentOS,LinuxMint"
}'

Die Antwort sollte wie unten aussehen und Version:2 enthalten und erstellt:false; bedeutet, dass das Dokument aktualisiert wurde.

{"_index":"itzgeek","_type":"howtos","_id":"1","_version":2,"created":false}

Entfernen

Verwenden Sie den folgenden Befehl, um das Dokument zu entfernen.

# curl -X DELETE 'http://localhost:9200/itzgeek/howtos/1'

Die Antwort sieht wie folgt aus. Wenn das Dokument gefunden wird, erhalten Sie found:true und erhöhte Version .

{"found":true,"_index":"itzgeek","_type":"howtos","_id":"1","_version":3}

Wenn das Dokument nicht gefunden wird, erhalten Sie found:false und erhöhte Version .

{"found":false,"_index":"itzgeek","_type":"howtos","_id":"1","_version":4}

Das ist alles!, Sie haben Elasticsearch erfolgreich auf Ubuntu 14.10 / RHEL 7 / Linux Mint 17 installiert und konfiguriert.

Links:

Elasticsearch =elastisearch.org

SetupGuide =Anleitung


Cent OS
  1. So installieren Sie Elasticsearch unter Debian Linux

  2. So installieren Sie Apache Hadoop unter CentOS 7, Ubuntu 18.04 und Debian 9

  3. So installieren Sie Ansible unter CentOS 7 / RHEL 7 / Ubuntu 18.04 / 16.04 und Debian 9

  4. So installieren Sie Redis unter CentOS 7 / RHEL 7 und Ubuntu 18.04 / Ubuntu 16.04

  5. Installieren Sie LibreOffice 3.5 auf Ubuntu 11.10 / Linux Mint 12

So installieren Sie Kubernetes unter CentOS 7, Ubuntu 18.04 / 16.04 und Debian 9

So installieren Sie Visual Studio Code unter Ubuntu 18.04 / Linux Mint 19 und Debian 9

So installieren Sie NetBeans IDE 12.4 in Ubuntu, Debian und Linux Mint

Laden Sie Spotify Deb-Pakete herunter, um sie auf Ubuntu, Debian und Linux Mint zu installieren

So installieren Sie NetBeans IDE 12 in Debian, Ubuntu und Linux Mint

So installieren Sie Wine 5.0 unter Debian, Ubuntu und Linux Mint