Seite 1 von 1

[gelöst] Umzug/update Influxdb

Verfasst: 24. Jul 2023 11:43
von nw378
Hallo,

seit geraumer Zeit doktore ich am Upgrade von influxdb. Ich habe v1.8.1 auf einem Raspberry laufen und möchte v2.7.1 im Docker Container auf einer Synology betreiben. Die fleissig gesammelten Daten aus der Datenbank auf dem Raspi sollen mit.

Ich habe ein backup erstellt:

Code: Alles auswählen

influxd backup -portable -database openhab_db ./influxdb-backup/openhab_db
ein Version 1.8.1 docker container erstellt,

das backup erfolgreich wieder eingespielt:

Code: Alles auswählen

sudo docker exec -it influxdb1 influxd restore -portable -database openhab_db /var/lib/influxdb/influxdb-backup/openhab_db
Beim update auf v2.7.1 stosse ich an meine Grenzen. Von der Influxdb Seite habe ich folgendes übernommen:

Code: Alles auswählen

"sudo docker run -p 8086:8086 \
  -v influxdb1:/var/lib/influxdb \
  -v influxdb2:/var/lib/influxdb2 \
  -e DOCKER_INFLUXDB_INIT_MODE=upgrade \
  -e DOCKER_INFLUXDB_INIT_USERNAME=userv1 \
  -e DOCKER_INFLUXDB_INIT_PASSWORD=userv1 \
  -e DOCKER_INFLUXDB_INIT_ORG=my-org \
  -e DOCKER_INFLUXDB_INIT_BUCKET=openhab-bucket \
  influxdb:2.7.1"
Leider erhalte ich diese Rück-/Fehlermeldung:

Code: Alles auswählen

Error: 1.x meta.db '/var/lib/influxdb/meta/meta.db' does not exist: stat /var/lib/influxdb/meta/meta.db: no such file or directory
See 'influxd -h' for help
2023-07-24T09:35:47.982460992Z  warn    cleaning bolt and engine files to prevent conflicts on retry    {"system": "docker", "bolt_path": "/var/lib/influxdb2/influxd.bolt", "engine_path": "/var/lib/influxdb2/engine"}
die Pfade habe ich zuvor angelegt.

Was tun??

Re: Umzug/update Influxdb

Verfasst: 25. Jul 2023 07:14
von udo1toni
Bist Du sicher, dass der von Dir beschriebene Weg überhaupt erfolgreich sein kann?
Gewöhnlich würde ich davon ausgehen, dass die Datenübernahme so nicht funktionieren wird, weil die Versionen ja unterschiedlich sind.

Der InfluxDB2.7 Container ist aber kein Ding. Ich hatte hier viewtopic.php?p=48555#p48555 einen Roman dazu geschrieben und gegen Ende des Threads geht es nun um Grafana in einem separaten Container.

Allerdings habe ich keine Datenübernehme von v. 1 auf v. 2 vorgenommen.
Die Datenübernahme von einer Hauptversion zur nächsten ist bei InfluxDB traditionell eher Glücksache. Beschrieben wird das unter anderem hier:
https://community.influxdata.com/t/move ... x-v2/17126
Es läuft darauf hinaus, aus einer bestehenden v. 1 die Daten zu exportieren und anschließend in v. 2 zu importieren, nicht per Backup!
Je nach Menge der Daten muss der Export vor dem Import noch in kleinere Häppchen aufgeteilt werden.

Bei der Datenübernahme von v 0.8 auf v. 1.x habe ich nach zwei Versuchen entschieden, dass ich ohne die Daten glücklicher bin :) vielleicht geht es inzwischen besser, oder evtl. gibt es auch irgendwo gescheite Tools, aber was den Zugriff auf die InfluxDB betrifft, so ist das maximal unkomfortabel gelöst.

Re: Umzug/update Influxdb

Verfasst: 26. Jul 2023 15:58
von nw378
Den Docker Container habe ich installiert v2.7.1

Ob der von mir oben beschriebene Weg erfolgreich sein kann? Who knows?! ;-)
Leider habe ich noch keine Patentlösung ergoogelt (was ja meistens ein Zeichen dafür ist, dass es nicht geht...).

Dann muss ich wohl die Daten manuell herüberschaufeln; ich gucke mir mal Deinen Link dazu an.
Insbesondere für Vergleiche (Strom-,Gas-, Wasser verbrauch) möchte ich die gesammelten "Werke" nicht über Board werfen.

Re: Umzug/update Influxdb

Verfasst: 26. Jul 2023 17:16
von udo1toni
nw378 hat geschrieben: 26. Jul 2023 15:58 Insbesondere für Vergleiche (Strom-,Gas-, Wasser verbrauch) möchte ich die gesammelten "Werke" nicht über Board werfen.
Ja, kann ich gut nachvollziehen.
Weil ich die Problematik schon vom ersten Umstieg gut kenne, habe ich nie aufgehört, meine Werte zusätzlich in MariaDB zu persistieren :) die läuft aber auf einem anderen Gerät, die DB ist inzwischen etwa 1,3 GByte groß (der openHAB Teil)

Re: Umzug/update Influxdb

Verfasst: 27. Jul 2023 20:56
von nw378
Es ist vollbracht!

Zwar nicht der smarteste Weg, aber gangbar.

Um die Daten aus der Raspberry Influx Datenbank v1.8.1 in die v2.7.1 auf der Synology zu migrieren, sind folgende Schritte notwendig:

1. Schreiben der Daten in Komma-getrennte Datei:

Code: Alles auswählen

sudo influx_inspect export -database openhab_db -datadir /var/lib/influxdb/data   -waldir /var/lib/influxdb/wal   -compress -out ohd.line.gz
Die Datei ohd.line.gz ist je nach Füllstand der Datenbank recht groß und muss in Pakete kleiner 10 MB zerlegt werden:
(10 MB sind die Obergrenze für das Einlesen, siehe nächster Schritt. Evtl. muss der Wert 14000 (Anzahl der Zeilen je File) angepasst werden)

Code: Alles auswählen

time zcat ohd.line.gz | split -l 140000 -d -a 4 - ohd.line_   
Die "Teildateien" ohd.line_000, ohd.line_001,...ohd.line_xxx können dann mit dem WebUI von Influx wieder eingelesen werden, siehe Screenshot (File Upload// Line Protocol, Drag+Drop)
influx.jpg

Re: [gelöst] Umzug/update Influxdb

Verfasst: 27. Jul 2023 21:45
von udo1toni
Sehr gut, Gratulation!