Hier lernen wir die Schritte und Befehle kennen, um den InfluxDB-Datenbankserver zu installieren und ihn unter AlmaLinux oder Rocky Linux 8 mithilfe des Terminals zu sichern. Und auch, wie man mit der HTTP-API von Influx aus der Ferne darauf zugreift …
Was ist InfluxDB?
InfluxDB ist eine von InfluxData entwickelte Open-Source-Datenbank, die im Gegensatz zu relationalen Datenbanken wie MySQL und MariaDB oder strukturierten Datenbanken wie Redis maximale Effizienz bei begrenzter Komplexität priorisiert. Obwohl die Software unter einer Open-Source-Lizenz vertrieben wird, bietet das Unternehmen auch kommerzielle Erweiterungen wie Zugangskontrollen für Geschäftskunden innerhalb des eigenen Root-Servers und Cloud-Dienste mit grafischer Datenanalyse über eine Weboberfläche an.
Relationale Datenbanken wie MySQL sind aufgrund der komplexen Struktur äußerst flexibel und benötigen entsprechend viel Speicherplatz und Rechenkapazität, während InfluxDB eine einfache Struktur verwendet. Es ermöglicht die schnelle und zuverlässige Verwaltung von Datenbanken ohne aufwändige Analysen einer tabellarischen Struktur oder die Analyse zahlreicher Querverweise. Diese Features ermöglichen es dem DBMS, Datensätze inklusive Sensoren oder Zuständen in Echtzeit über Smart Devices des Internet-Of-Thing (IoT) zu erfassen und nahezu zeitgleich zu speichern und zu übertragen. Seit Version 2.0 ermöglicht InfluxDB die Verwendung einer eigenen Programmiersprache namens Flux zum Abfragen von Informationen.
Hauptmerkmale von InfluxDB:
- Spezialisierung auf Zeitreihen
- Zusammenführung mehrerer Quellen in einer zentralen Instanz
- Sehr hohe Verarbeitungseffizienz
- Unterstützung von Flux als Skriptsprache für die Administration
- Sammlung von Daten aus verschiedenen Quellen, zum Beispiel über die Drittanbieter-API
- Datenaustausch über Apache Arrow als Schnittstelle
Schritte zur Installation von InfluxDB auf AlmaLinux oder Rocky 8
Die unten aufgeführten Schritte zur Installation von InfluxDB auf AlmaLinux gelten auch für RHEL- oder CentOS 8-Linux-Serverbetriebssysteme.
Schritt 1:InfluxDB-Repository hinzufügen
Obwohl wir das neueste RPM-Paket von InfluxDB direkt von der offiziellen Website herunterladen können, stellt der Repository-Weg sicher, dass unser System jedes Mal die neuesten Pakete erhält, wenn Sie den Systemaktualisierungsbefehl ausführen-
Kopieren Sie den unten angegebenen ganzen Befehlsblock und fügen Sie es in Ihr Befehlsterminal ein. Drücken Sie danach die Eingabetaste key und geben Sie Ihr Benutzerpasswort ein, um eine InfluxDB-Repo-Datei auf Ihrem System zu erstellen.
sudo tee /etc/yum.repos.d/influxdb.repo<<EOF [influxdb] name = InfluxDB Repository baseurl = https://repos.influxdata.com/rhel/8/x86_64/stable/ enabled = 1 gpgcheck = 1 gpgkey = https://repos.influxdata.com/influxdb.key EOF
Schritt 2:Systemaktualisierungsbefehl ausführen
Verwenden Sie als Nächstes den Systempaketmanager DNF, um den Systemaktualisierungsbefehl auszuführen. Dadurch werden nicht nur die neuesten verfügbaren Pakete und Aktualisierungen für das System installiert, sondern auch der Repo-Cache aktualisiert.
sudo dnf update
Schritt 3:Befehl zum Installieren von InfluxDB auf Almalinux oder Rocky Linux
Verwenden Sie schließlich den angegebenen Befehl, um die InfluxdB-Pakete herunterzuladen und auf Ihrem RPM-basierten Linux-Betriebssystem zu installieren.
sudo dnf install influxdb
Schritt 4:Influxdb-Dienst starten und aktivieren
Um den Datenbankserverdienst automatisch beim Systemstart starten zu lassen, starten und aktivieren Sie ihn mit den angegebenen Befehlen.
sudo systemctl start influxdb sudo systemctl enable influxdb
Schritt 5:InfluxDB TCP-Port 8086 in der Firewall zulassen
Wenn Sie die System-Firewall aktiviert haben, erlauben Sie dem darin enthaltenen Port 8086, vom Client über seine HTTP-API auf InfluxDb zuzugreifen.
sudo firewall-cmd --add-port=8086/tcp --permanent sudo firewall-cmd --reload
Auf die gleiche Weise können wir bei Bedarf auch den TCP-Port 8088 mit dem obigen Befehl öffnen. Dieser Port wird vom RPC-Dienst für Sicherung und Wiederherstellung verwendet. Falls Sie die Ports ändern möchten, können Sie dies über die Konfigurationsdateien tun, die sich unter /etc/influxdb/influxdb.conf
befinden
Greifen Sie auf CLI zu, um Benutzer und Datenbank zu erstellen
Geben Sie einfach ein:
influx
Erstellen mindestens einen Admin Benutzer, der den angegebenen Befehl verwendet. Ersetzen Sie den Administrator und das Passwort durch die, die Sie festlegen möchten.
CREATE USER admin WITH PASSWORD 'password' WITH ALL PRIVILEGES
So überprüfen Sie alle Benutzer:
SHOW USERS
So erstellen Sie eine Datenbank:
CREATE DATABASE dbname
Erhalten Sie eine Liste aller DBs
SHOW DATABASES
Um alle Berechtigungen zu gewähren der Datenbank zur verfügbaren Verwendung, verwenden Sie diese Syntax
GRANT ALL ON database_name TO username
Hinweis: Ersetzen Sie Datenbankname und Nutzername Werte mit Ihren.
Um alle Datenbankrechte einer bestehenden Nutzung zu WIDERRUFEN
REVOKE ALL ON database_name FROM username
Um zu überprüfen, welche Rechte oder Privilegien einem InfluxDB-Benutzer in einigen Datenbanken zugewiesen sind, verwenden Sie:
SHOW GRANTS FOR user_name
Aktivieren Sie die Authentifizierung, um die Datenbank über die HTTP-API von Influx remote zu verbinden und zu verwalten
Wenn Sie den Influxdb-Port 8086 in Ihrer Almalinux- oder Rocky-Firewall zugelassen haben, können wir das Befehlsterminal des Remote-Systems verwenden, um Datenbankbefehle auszugeben.
Aktivieren Sie dazu HTTP und Authentifizierung in der InfluxDB-Konfigurationsdatei.
sudo nano /etc/influxdb/influxdb.conf
Aktivieren Sie die folgenden Dinge, indem Sie #
entfernen vor ihnen verfügbar. Und ändern Sie auch auth-enable = false
zu auth-enable = true
wie im Screenshot gezeigt.
[http] enabled = true bind-address = ":8086" auth-enabled = true log-enabled = true
Speichern die Datei durch Drücken von Strg+Alt , danachY , und drücken Sie dann die Eingabetaste Schlüssel.
InfluxDB-Dienste neu starten:
sudo systemctl restart influxdb
Jetzt können Sie von jedem anderen System aus das Terminal verwenden, um Befehle auszugeben, beispielsweise um eine Datenbank zu erstellen:
Stellen Sie sicher, dass sich curl bereits auf Ihrem Remote-System befindet.
curl --user admin:pass -k -XPOST 'http://server-ip-address:8086/query' --data-urlencode \ 'q=CREATE DATABASE "h2sdev"'
Ändern Sie im obigen Befehl den admin Benutzer und Passwort mit der, die Sie auf Ihrem Influx-Datenbankserver erstellt haben. Während h2sdev ist die Datenbank, die wir erstellen möchten.
Die Ausgabe für den Befehl lautet:
{"results":[{"statement_id":0}]}
Zu beachtender Punkt :Sobald Sie die Authentifizierung in der Konfigurationsdatei aktiviert haben, können Sie nicht auf die InfluxDB-Befehle auf dem lokalen Server zugreifen, ohne ihn vorher zu authentifizieren. Daher müssen Sie jedes Mal, wenn Sie auf die InfluxDB-Server-CLI auf dem Localhost zugreifen möchten, den Benutzer und das Passwort wie folgt angeben:
influx -username username -password 'password'
Ersetzen der Nutzername und Passwort im obigen Befehl. Denken Sie daran, dass das Passwort in einfachen Anführungszeichen stehen muss, wie in der obigen Befehlssyntax gezeigt.
Dies war der schnelle Weg, den InfluxDB-Datenbankserver zu installieren und unter Almalinux oder Rocky Linux 8 zu verwenden. Weitere Informationen zu Sicherheit und Authentifizierung finden Sie in der offiziellen Dokumentation.