Installation und Verwendung von Elasticsearch mit MongoDB unter Windows und Ubuntu

Mehvish Ashiq 16 Februar 2024
  1. Was ist die Elasticsearch
  2. Installieren Sie Elasticsearch unter Windows 10
  3. Installieren Sie Elasticsearch auf Ubuntu 20.04
  4. der Hauptgrund für die Verwendung von Elasticsearch mit MongoDB
Installation und Verwendung von Elasticsearch mit MongoDB unter Windows und Ubuntu

Dieser Artikel ist eine Schritt-für-Schritt-Anleitung zur Installation und Konfiguration von Elasticsearch unter Windows und Ubuntu 20.04. Außerdem wird die Verwendung von Elasticsearch mit MongoDB für beide Betriebssysteme demonstriert.

Was ist die Elasticsearch

Elasticsearch ist eine NoSQL-Datenbank, eine verteilte Open-Source-Echtzeit-Analyse-Engine zum Speichern von Protokollen. Die Elasticsearch wird in Java-Programmierung und auf Apache Lucene entwickelt.

Viele namhafte Unternehmen, darunter LinkedIn und OpenStack, verwenden es. Es unterstützt die Volltextsuche basierend auf den Dokumenten anstelle von Schemas und Tabellen.

Es wird auch für die Datenmigration, Indizierung und Synchronisierung verwendet. Elasticsearch ist die beste Wahl, wenn die Anwendung zu viele Suchvorgänge und Filter benötigt.

Installieren Sie Elasticsearch unter Windows 10

Schritt 1: Überprüfen Sie, ob Java installiert ist

Um Elasticsearch unter Windows 10 zu installieren, muss die neueste Version von Java auf unserem Computer installiert sein. Sie können auch einen der folgenden Befehle verwenden, um zu bestätigen, dass Java bereits auf Ihrem Computer installiert ist.

Denken Sie daran, dass wir Java Version 7 oder höher haben müssen, wenn wir Elasticsearch installieren möchten.

Installieren und verwenden Sie Elasticsearch unter Windows und Ubuntu - Überprüfen Sie die Java-Version unter Windows

Schritt 2: Laden Sie die Elasticsearch .zip-Datei herunter

Gehen Sie zu dieser Website und klicken Sie auf den Download-Link im folgenden Screenshot. Wählen Sie als Nächstes die Plattform aus, auf der wir Elasticsearch verwenden möchten, und laden Sie die .zip-Datei herunter.

Installieren und verwenden Sie Elasticsearch unter Windows und Ubuntu - Laden Sie ElasticSearch unter Windows herunter

Schritt 3: Führen Sie die Elasticsearch-Batch-datei aus

Sobald wir die .zip-Datei heruntergeladen haben, entpacken Sie diese an den gewünschten Ort. Navigieren Sie dann zum Ordner bin und doppelklicken Sie auf die Batch-Datei elasticsearch.

Installieren und verwenden Sie Elasticsearch mit Mongodb unter Windows und Ubuntu - Führen Sie ElasticSearch unter Windows aus

Es ist nichts anderes als eine Standard-Windows-Batch-datei mit Schritten, die hinter den Kulissen ausgeführt werden. Darüber hinaus hilft es, den Elasticsearch-Daemon auf Ihrem Computer aufzurufen, der wie folgt aussieht.

Lassen Sie das offen und folgen Sie den nächsten Schritten.

Installieren und verwenden Sie Elasticsearch unter Windows und Ubuntu - Elasticsearch-Daemon unter Windows

Schritt 4: Authentifizierung deaktivieren (nur zu Lernzwecken)

Standardmäßig ist die Authentifizierung aktiviert, was bedeutet, dass wir die Anmeldeinformationen eingeben müssen. Sie können entweder die Standard-Anmeldeinformationen verwenden oder sie ändern, indem Sie dieser Seite folgen.

Für diesen Artikel deaktivieren wir die Authentifizierung (sie dient nur zu Lernzwecken, wird jedoch in der Produktionsumgebung empfohlen). Wir verwenden Notepad, um die Datei elasticsearch.yml zu öffnen, die sich im Pfad %ES_HOME%\config\elasticsearch.yml befindet.

Hier ist ES_HOME Ihr Elasticsearch-Home-Verzeichnis. In unserem Fall kann die elasticsearch.yml beispielsweise unter C:\Users\DelftStack\Desktop\elasticsearch-8.2.2-windows-x86_64\elasticsearch-8.2.2\config liegen.

Sobald die Datei elasticsearch.yml geöffnet ist, suchen Sie nach der Option xpack.security.enabled und setzen Sie ihren Wert auf false, wie im folgenden Screenshot gezeigt.

Installieren und verwenden Sie Elasticsearch unter Windows und Ubuntu - Deaktivieren Sie die Elasticsearch-Authentifizierung unter Windows

Stoppen Sie die Elasticsearch und starten Sie sie erneut, indem Sie die Datei elasticsearch.bat ausführen.

Schritt 5: Führen Sie Elasticsearch im Browser aus

Geben Sie http://localhost:9200 in Ihrem bevorzugten Browser ein. Wenn Sie eine Seite ähnlich dem folgenden Screenshot sehen, wurde Elasticsearch erfolgreich eingerichtet und ausgeführt.

Installieren und verwenden Sie Elasticsearch unter Windows und Ubuntu - ElasticSearch ist unter Windows betriebsbereit

Installieren Sie Elasticsearch auf Ubuntu 20.04

Schritt 1: Installieren Sie die erforderlichen Abhängigkeiten

Update-/Upgrade-Paket-Index:

sudo apt update
sudo apt upgrade

Wie das Windows-Betriebssystem wird auch auf Ubuntu Java für die Installation von Elasticsearch benötigt. Wenn es noch nicht installiert ist, führen Sie den folgenden Befehl aus, um das Standard-JDK zu installieren unter Ubuntu 20.04.

sudo apt install openjdk-8-jdk

Verwenden Sie nach der Installation die java -version, um zu überprüfen, ob sie vorhanden ist.

Installieren und verwenden Sie Elasticsearch unter Windows und Ubuntu - Überprüfen Sie die Java-Version unter Ubuntu

Wir müssen auch ein APT Transport-Paket installieren, um den Zugriff auf alle unsere Repositories über HTTPS zu ermöglichen.

sudo apt install apt-transport-https

Installieren und verwenden Sie Elasticsearch unter Windows und Ubuntu - Installieren Sie apt Transport unter Ubuntu

Schritt 2: Laden Sie Elasticsearch auf Ubuntu herunter und installieren Sie es

Der nächste Job besteht darin, das Elasticsearch-Repository hinzuzufügen. Verwenden Sie die Abfrage wget, um den öffentlichen Schlüssel abzurufen.

Sie müssen das OK als Ausgabe haben, wenn alles gut geht.

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

Installieren und verwenden Sie Elasticsearch mit Mongodb unter Windows und Ubuntu - Fügen Sie das Elasticsearch-Repository unter Ubuntu hinzu

Fügen Sie nun das Repository zum System hinzu, indem Sie den folgenden Befehl ausführen. Wir schreiben 8.x in den folgenden Befehl, da dies die neueste Version zum Zeitpunkt des Schreibens dieses Tutorials ist.

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

Aktualisieren Sie den Paketindex erneut mit dem unten angegebenen Befehl.

sudo apt update

Installieren Sie Elasticsearch, indem Sie den folgenden Befehl ausführen. Die Installation kann einige Zeit dauern.

Lassen Sie es also erfolgreich abschließen.

sudo apt install elasticsearch

Elasticsearch unter Windows und Ubuntu installieren und verwenden - Elasticsearch unter Ubuntu installieren

Nach der Installation müssen wir die Elasticsearch starten, da sie nicht von selbst startet. Wir müssen die Elasticsearch auch erneut ausführen, wenn wir die Maschine neu starten.

Um diese Situation zu vermeiden, führen Sie die folgenden Befehle aus, um Elasticsearch nach dem Systemneustart automatisch neu zu laden.

sudo systemctl daemon-reload
sudo systemctl enable elasticsearch.service
sudo systemctl start elasticsearch.service

Überprüfen Sie nun den Status von Elasticsearch mit dem folgenden Befehl.

sudo systemctl status elasticsearch

Installieren und verwenden Sie Elasticsearch unter Windows und Ubuntu - Elasticsearch-Status unter Ubuntu

Schritt 3: Konfigurieren Sie Elasticsearch

Standardmäßig ist Elasticsearch für die grundlegende Verwendung vorkonfiguriert. Wir müssen keine Änderungen in der Konfigurationsdatei vornehmen, wenn wir einen Knoten in unserem Setup verwenden möchten.

Wenn Sie die Elasticsearch-Konfiguration bearbeiten möchten, bearbeiten Sie die Datei elasticsearch.yml im Verzeichnis /etc/elasticsearch. Die Konfiguration für das Logging finden Sie auch unter /var/log/elasticsearch/logging.yml.

Wir bearbeiten die Datei elasticsearch.yml, um die Authentifizierung für dieses Tutorial zu deaktivieren. Wir ändern den Wert von xpack.security.enabled von true auf false.

Denken Sie daran, wann immer Sie die Datei elasticsearch.yml bearbeiten, vergessen Sie nicht, die Dienste mit dem folgenden Befehl neu zu starten.

sudo systemctl restart elasticsearch.service

Verwenden Sie als Nächstes den folgenden Befehl, um zu überprüfen, ob Elasticsearch betriebsbereit ist.

curl localhost:9200

Installieren und verwenden Sie Elasticsearch unter Windows und Ubuntu - ElasticSearch läuft auf Ubuntu

Wir können auch http://localhost:9200 in den Browser eingeben, und es sollte die gleichen Ergebnisse wie der oben angegebene curl-Befehl zeigen. Außerdem können Sie diesen Artikel lesen, um Elasticsearch zu sichern.

Installieren und verwenden Sie Elasticsearch mit Mongodb unter Windows und Ubuntu - Führen Sie Elasticsearch unter Ubuntu aus

der Hauptgrund für die Verwendung von Elasticsearch mit MongoDB

Wir verwenden MongoDB zum Speichern und Abfragen der Daten, während Elasticsearch für die Volltextindizierung der Daten verwendet wird. Daher ist die Kombination aus beidem (Elasticsearch zum Indizieren und MongoDB zum Speichern) eine der gängigen Architekturen, denen viele Unternehmen folgen.

Elasticsearch wurde für Suchzwecke entwickelt und bietet auch erweiterte Funktionen für die Datenindizierung. Es arbeitet neben Kibana und Logstash für die Datenanalyse.

Einer der Vorteile der Verwendung von Elasticsearch besteht darin, dass es eine schnelle Suche nach allen Feldern innerhalb des angegebenen Dokuments ermöglicht. Wir können uns das so vorstellen, als hätten wir unsere persönliche Google-Suche nach unseren Daten.

Wir können die Elasticsearch auch in verschiedenen Szenarien verwenden. Beispielsweise können wir eine Synchronisierung durchführen, eine Suchmaschine erstellen, Datenmigration, Indizierung durchführen und vieles mehr.

Wir werden lernen, Elasticsearch mit MongoDB für Synchronisierungszwecke für dieses Tutorial zu verwenden.

Verwendung von Elasticsearch zum Durchführen der Synchronisierung

Wir müssen die unten angegebenen Schritte ausführen, um die Synchronisierung mit Elasticsearch und MongoDB unter Windows/Ubuntu durchzuführen. Stellen Sie vorher sicher, dass Sie alle Abhängigkeiten haben.

Für dieses Codebeispiel verwenden wir beispielsweise Node.js. Führen Sie außerdem beide Datenbank-Engines (MongoDB und Elasticsearch) weiter aus.

Danach folgen wir den Schritten.

  • Importieren Sie die Pakete mongoose und mongoosastic.
  • Stellen Sie eine erfolgreiche Verbindung mit der MongoDB-Engine her.
  • Erstellen Sie ein MongoDB-Schema.
  • Verwenden Sie das Plugin mongoosastic, um sich mit Elasticsearch zu verbinden.
  • Erstellen Sie zuerst das MongoDB-Modell und dann die Elasticsearch-Zuordnung.
  • Fügen Sie Ihrer MongoDB-Datenbank Daten hinzu, die mit Elasticsearch synchronisiert werden müssen.

Beispielcode (fügen Sie den gesamten Code in eine Datei ein, wir haben ihn in der Datei app.js):

// Step 1:
const mongoose = require('mongoose');
const mongoosastic = require('mongoosastic');

// Step 2:
mongoose.connect('mongodb://localhost:27017/studentdb');

// Step 3:
var StudentSchema =
    new mongoose.Schema({firstname: String, lastname: String, city: String});

// Step 4:
StudentSchema.plugin(mongoosastic, {'host': 'localhost', 'port': 9200});

// Step 5:
var Student = mongoose.model('student', StudentSchema);
Student.createMapping((err, mapping) => {
  console.log('mapping created');
});

// Step 6:
var newStudent =
    new Student({firstname: 'Mehvish', lastname: 'Ashiq', city: 'Lahore'});

newStudent.save((err) => {
  if (err) {
    console.log(err);
  }
  console.log('Student is added in both databases');
})

newStudent.on('es-indexed', (err, result) => {
  console.log('indexed to elastic search');
});

Führen Sie nun diesen Code aus; es wäre wie folgt.

Installieren und verwenden Sie Elasticsearch mit Mongodb unter Windows und Ubuntu - Datei ausführen

Bestätigen Sie den Eintrag in MongoDB wie folgt.

Installieren und verwenden Sie Elasticsearch mit Mongodb unter Windows und Ubuntu - Bestätigen Sie den Eintrag in Mongodb

Als nächstes öffnen Sie http://localhost:9200/students/_search, um es auch auf Elasticsearch zu bestätigen. Es sieht ähnlich aus wie im folgenden Screenshot.

Installieren und verwenden Sie Elasticsearch mit Mongodb unter Windows und Ubuntu - Bestätigen Sie den Eintrag in Elasticsearch

Mehvish Ashiq avatar Mehvish Ashiq avatar

Mehvish Ashiq is a former Java Programmer and a Data Science enthusiast who leverages her expertise to help others to learn and grow by creating interesting, useful, and reader-friendly content in Computer Programming, Data Science, and Technology.

LinkedIn GitHub Facebook