InfluxDB auf CentOS 8 installieren
InfluxDB ist eine Open-Source- und Zeitreihen-Datenbank, die von InfluxData entwickelt wurde. Sie ist in Go geschrieben und für hohe Schreib- und Abfragelasten ausgelegt. Sie ist bekannt für ihre Einfachheit und ihre Fähigkeit, in großem Maßstab zu arbeiten. Sie kann auf mehreren Betriebssystemen betrieben werden und unterstützt eine Vielzahl von Client-Bibliotheken.
In diesem Lernprogramm wird erklärt, wie du die Zeitreihendatenbank InfluxDB auf CentOS 8 installierst.
Voraussetzungen
- Ein Server, auf dem CentOS 8 läuft.
- Ein Root-Passwort ist auf deinem Server eingerichtet.
InfluxDB installieren
Standardmäßig ist InfluxDB nicht im CentOS 8 Standard-Repository verfügbar. Daher musst du ein Repository für InfluxDB erstellen. Du kannst es mit dem folgenden Befehl erstellen:
nano /etc/yum.repos.d/influxdb.repo
Füge die folgenden Zeilen ein:
[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
Speichere und schließe die Datei und aktualisiere dann den Repo-Cache mit dem folgenden Befehl:
dnf makecache
Als Nächstes installierst du InfluxDB mit dem folgenden Befehl:
dnf -y install influxdb
Sobald die Installation abgeschlossen ist, überprüfe die installierte Version von InfluxDB mit dem folgenden Befehl:
rpm -qi influxdb
Du solltest die folgende Ausgabe erhalten:
Name : influxdb Version : 1.8.4 Release : 1 Architecture: x86_64 Install Date: Wednesday 07 April 2021 01:24:54 AM EDT Group : default Size : 174431824 License : Proprietary Signature : RSA/SHA256, Monday 01 February 2021 08:01:46 PM EST, Key ID 684a14cf2582e0c5 Source RPM : influxdb-1.8.4-1.src.rpm Build Date : Thursday 28 January 2021 05:31:21 AM EST Build Host : bf85fc4b5de4 Relocations : / Packager : support@influxdb.com Vendor : InfluxData URL : https://influxdata.com Summary : Distributed time-series database. Description : Distributed time-series database.
InfluxDB-Dienst verwalten
Du kannst den InfluxDB-Dienst mit dem folgenden Befehl starten und stoppen:
systemctl start influxdb systemctl stop influxdb
Um InfluxDB beim Neustart des Systems zu starten, führe den folgenden Befehl aus:
systemctl enable influxdb
Um den Status von InfluxDB zu überprüfen, führe den folgenden Befehl aus:
systemctl status influxdb
Du solltest die folgende Ausgabe erhalten:
? influxdb.service - InfluxDB is an open-source, distributed, time series database Loaded: loaded (/usr/lib/systemd/system/influxdb.service; enabled; vendor preset: disabled) Active: active (running) since Wed 2021-04-07 01:25:11 EDT; 11s ago Docs: https://docs.influxdata.com/influxdb/ Main PID: 48978 (influxd) Tasks: 8 (limit: 12524) Memory: 7.9M CGroup: /system.slice/influxdb.service ??48978 /usr/bin/influxd -config /etc/influxdb/influxdb.conf Apr 07 01:25:11 centos8 influxd[48978]: ts=2021-04-07T05:25:11.426523Z lvl=info msg="Starting precreation service" log_id=0TMhWB~l000 service=> Apr 07 01:25:11 centos8 influxd[48978]: ts=2021-04-07T05:25:11.426552Z lvl=info msg="Starting snapshot service" log_id=0TMhWB~l000 service=sna> Apr 07 01:25:11 centos8 influxd[48978]: ts=2021-04-07T05:25:11.426570Z lvl=info msg="Starting continuous query service" log_id=0TMhWB~l000 ser> Apr 07 01:25:11 centos8 influxd[48978]: ts=2021-04-07T05:25:11.426616Z lvl=info msg="Starting HTTP service" log_id=0TMhWB~l000 service=httpd a> Apr 07 01:25:11 centos8 influxd[48978]: ts=2021-04-07T05:25:11.426634Z lvl=info msg="opened HTTP access log" log_id=0TMhWB~l000 service=httpd > Apr 07 01:25:11 centos8 influxd[48978]: ts=2021-04-07T05:25:11.426802Z lvl=info msg="Listening on HTTP" log_id=0TMhWB~l000 service=httpd addr=> Apr 07 01:25:11 centos8 influxd[48978]: ts=2021-04-07T05:25:11.426831Z lvl=info msg="Starting retention policy enforcement service" log_id=0TM> Apr 07 01:25:11 centos8 influxd[48978]: ts=2021-04-07T05:25:11.427033Z lvl=info msg="Listening for signals" log_id=0TMhWB~l000 Apr 07 01:25:11 centos8 influxd[48978]: ts=2021-04-07T05:25:11.427330Z lvl=info msg="Storing statistics" log_id=0TMhWB~l000 service=monitor db> Apr 07 01:25:11 centos8 influxd[48978]: ts=2021-04-07T05:25:11.427779Z lvl=info msg="Sending usage statistics to usage.influxdata.com" log_id=>
Standardmäßig lauscht InfluxDB auf Port 8086. Du kannst dies mit dem folgenden Befehl überprüfen:
ss -tunelp | grep 8086
Du solltest die folgende Ausgabe sehen:
tcp LISTEN 0 128 *:8086 *:* users:(("influxd",pid=49040,fd=14)) uid:987 ino:824427 sk:c v6only:0 <->
Aktiviere die Authentifizierung
Standardmäßig ist InfluxDB so konfiguriert, dass es sich ohne Authentifizierung verbindet. Es wird daher empfohlen, InfluxDB mit einem Benutzernamen und einem Passwort zu sichern.
Dazu musst du die Authentifizierung in der Datei influxdb.conf aktivieren.
nano /etc/influxdb/influxdb.conf
Ändere die folgende Zeile im Abschnitt [http]:
auth-enabled = true
Speichere und schließe die Datei und starte die InfluxDB neu, damit die Änderungen übernommen werden:
systemctl restart influxdb
Als Nächstes musst du einen Admin-Benutzer anlegen, um InfluxDB zu authentifizieren. Du kannst ihn mit dem folgenden Befehl erstellen:
curl -XPOST "http://localhost:8086/query" --data-urlencode "q=CREATE USER admin WITH PASSWORD 'password' WITH ALL PRIVILEGES"
Zu diesem Zeitpunkt ist InfluxDB mit einem Benutzernamen und einem Passwort gesichert.
Arbeiten mit InfluxDB
Jetzt kannst du dich mit folgendem Befehl mit der InfluxDB-Shell verbinden:
influx -username 'admin' -password 'password'
Sobald du verbunden bist, solltest du die folgende Ausgabe erhalten:
Connected to http://localhost:8086 version 1.8.4 InfluxDB shell version: 1.8.4
Erstelle nun eine neue Datenbank mit dem folgenden Befehl:
> CREATE DATABASE mydb
Um alle Datenbanken anzuzeigen, führe den folgenden Befehl aus:
> SHOW DATABASES
Du solltest die folgende Ausgabe erhalten:
name: databases name ---- _internal mydb
Verlasse nun die InfluxDB-Shell mit folgendem Befehl:
> exit
Du kannst auch alle Datenbanken auflisten, ohne dich bei InfluxDB anzumelden, wie unten gezeigt:
curl -G http://localhost:8086/query -u admin:password --data-urlencode "q=SHOW DATABASES"
Du solltest die folgende Ausgabe erhalten:
{"results":[{"statement_id":0,"series":[{"name":"databases","columns":["name"],"values":[["_internal"],["mydb"]]}]}]}
Fazit
Herzlichen Glückwunsch! Du hast InfluxDB erfolgreich auf CentOS 8 installiert. Du kannst InfluxDB jetzt nutzen, um große Datenmengen in der Produktionsumgebung zu verarbeiten.