[influxdb] upgrade auf die version 2.x möglich ?

Du hast Fragen oder ein Problem bei der Installation.....
Einfach Fragen.
Wenn du Fragen zu einem Programm hast das nicht Bestandteil des Skripts ist benutz bitte den Bereich Userprojekte viewforum.php?f=33
Andy
User
User
Beiträge: 194
Registriert: Fr 16. Jul 2021, 22:06

[influxdb] upgrade auf die version 2.x möglich ?

Beitrag von Andy »

Ich brauche dringend die influxdb in der version 2. Mit der veralteten 1.8 komme ich nicht weiter.
2 Projekte habe ich schon geparkt weil ich so nicht weiter komme und nun habe ich ein drittes Projekt das die Version 2.x voraus setzt.

Ich habe 2 Abende mit upgrade versuchen verbracht aber ich bekomme es einfach nicht auf die Reihe.
Felix kannst du bitte influxdb 2.3 für 64bit bei der Installation zur Auswahl stellen oder einen Weg aufzeigen wie man die veraltet Version 1.x upgraden kann? Die Version 2.x setzt wohl 64bit voraus.
Raspberry PI 400 4GB # Raspberry PI 4B 4GB

Benutzeravatar
ei23felix
Administrator
Administrator
Beiträge: 311
Registriert: Sa 17. Jul 2021, 10:44
Kontaktdaten:

Re: [influxdb] upgrade auf die version 2.x möglich ?

Beitrag von ei23felix »

Upgrade von 1.8 auf 2 ist so 1 zu 1 nicht möglich glaube, wenn ich mich richtig erinnere ist die Datenstruktur ist eine andere. Auch ist die Abfragesprache ja nun eine andere (FLUX).
Also ein ähnliches Problem wie bei Python 2 und 3.
Installation ist aber einfach:
Hab mal ein Template für die 2.3.0 geschrieben. Die Daten wirst du aber vermutlich irgendwie migrieren müssen. Ich werde erstmal noch bei der 1.8.4 bleiben
Wenn du die 1.8.4 nicht mehr brauchst, dann schmeißt sie runter und dann kannst du die ports auch auf die standardwerte ändern.
Hab es getestet: (64Bit Pi OS) läuft.

Code: Alles auswählen

  influxdb2:
    container_name: influxdb2
    image: influxdb:2.3.0
    restart: unless-stopped
    ports:
    - "8087:8086"
    # - "8083:8083"
    # - "2003:2003"
    volumes:
    - ./volumes/influxdb2/data:/var/lib/influxdb2
    - ./volumes/influxdb2/config:/etc/influxdb2
EDIT:
https://docs.influxdata.com/influxdb/v2 ... v2/docker/

Probiere es gerade mal aus. Migration ist ja immer so einer Sache...
  • Böse Menschen sind selten tatsächlich böse, meistens eher faul oder dumm.
  • Du kannst nur dann sicher sein, wenn du weißt, dass du nie ganz sicher sein kannst.
  • Du kannst nur unabhängig werden, wenn du weißt, dass du nie ganz unabhängig sein wirst.

Benutzeravatar
ei23felix
Administrator
Administrator
Beiträge: 311
Registriert: Sa 17. Jul 2021, 10:44
Kontaktdaten:

Re: [influxdb] upgrade auf die version 2.x möglich ?

Beitrag von ei23felix »

Hab die Migration hinbekommen - hat mich aber auch ne Stunde gekostet.

Mit diesen Infos hier hat es allerdings geklappt:
https://docs.influxdata.com/influxdb/v2 ... v2/docker/

Folgendes habe ich gemacht:

Code: Alles auswählen

docker exec -it influxdb cp /etc/influxdb/influxdb.conf /var/lib/influxdb/influxdb.conf
sudo mkdir ei23-docker/volumes/influxdb/config
sudo mv ei23-docker/volumes/influxdb/data/influxdb.conf ei23-docker/volumes/influxdb/config/influxdb.conf
sudo mkdir -p  ei23-docker/volumes/influxdb2/v1/
sudo cp -r ei23-docker/volumes/influxdb/* ei23-docker/volumes/influxdb2/v1/
Die Docker-Compose von InfluxDB2 sieht so aus:

Code: Alles auswählen

  
  influxdb2:
    container_name: influxdb2
    image: influxdb:2.3.0
    restart: unless-stopped
    ports:
    - "8087:8086"
    environment:
    - "DOCKER_INFLUXDB_INIT_MODE=upgrade"
    - "DOCKER_INFLUXDB_INIT_USERNAME=deinuser"
    - "DOCKER_INFLUXDB_INIT_PASSWORD=deinpasswort"
    - "DOCKER_INFLUXDB_INIT_ORG=deineorg"
    - "DOCKER_INFLUXDB_INIT_BUCKET=deineDB"
    volumes:
    - ./volumes/influxdb2/data:/var/lib/influxdb2
    - ./volumes/influxdb2/config:/etc/influxdb2
    - ./volumes/influxdb2/v1/data:/var/lib/influxdb
    - ./volumes/influxdb2/v1/config:/etc/influxdb
    
und zu guter letzt

Code: Alles auswählen

ei23 dc
zu diesem Zeitpunkt hast du dann deine 1.8.4 wie gewohnt unter 8086 am laufen und die 2 unter 8087
Kannst du wenn alles läuft dann ja ändern und so lange beides parallel testen.
Einer der riesen Vorteile von Docker 8-)

PS: Lass uns daran Teilhaben, was du cooles mit der neuen InfluxDB machen willst
  • Böse Menschen sind selten tatsächlich böse, meistens eher faul oder dumm.
  • Du kannst nur dann sicher sein, wenn du weißt, dass du nie ganz sicher sein kannst.
  • Du kannst nur unabhängig werden, wenn du weißt, dass du nie ganz unabhängig sein wirst.

Andy
User
User
Beiträge: 194
Registriert: Fr 16. Jul 2021, 22:06

Re: [influxdb] upgrade auf die version 2.x möglich ?

Beitrag von Andy »

Ein Segen.....
Ich will die Daten von den Solar Invertern und vom Battery Management System visualisieren und beide Lösungen erwarten eine 2.x Datenbank.
Ich muss auch noch irgendwelche Token erzeugen. Mal sehen wie das geht

BTW. hast du einen formatierungsfehler gepostet.

Code: Alles auswählen

sudo cp -r ei23-docker/volumes/influxdb/* 
ei23-docker/volumes/influxdb2/v1/
so sollte es korrekt sein oder?

Code: Alles auswählen

sudo cp -r ei23-docker/volumes/influxdb/* ei23-docker/volumes/influxdb2/v1/

Ich bekomme 2 fehler angezeigt

Code: Alles auswählen

ERROR: yaml.parser.ParserError: while parsing a block mapping
  in "./docker-compose.yml", line 1, column 1
expected <block end>, but found '<block mapping start>'
  in "./docker-compose.yml", line 105, column 3
===================================================
//// Docker-Compose verursacht Fehler... (siehe oben)
891a1587d364: Pull complete
6a5d1ed6a27d: Pull complete
1186afd5d5e8: Pull complete
2d0df5326ac1: Pull complete
5d6354ffc941: Pull complete
5fcbacb5196e: Pull complete
16ae52c693b9: Pull complete
4278dea3bc40: Pull complete
77049a9c8a36: Pull complete
Creating influxdb2 ... done


Hier die docker-compose-yml

Code: Alles auswählen

version: '3'

networks:
  nextcloud: # comment this out if not needed
    driver: bridge
    internal: true
  fireflyiii: # comment this out if not needed
    driver: bridge
    internal: true

services:

  # MQTT-Broker
  mosquitto:
    container_name: mosquitto
    image: eclipse-mosquitto
    restart: unless-stopped
    user: "1883"
    ports:
      - "1883:1883"
      - "9001:9001"
    volumes:
      - ./volumes/mosquitto/data:/mosquitto/data
      - ./volumes/mosquitto/log:/mosquitto/log
      - ./volumes/mosquitto/config:/mosquitto/config
    logging:
      options:
        max-size: "5m"
        max-file: "3"
      
  # startpage for ei23-SmartHomeServer
  ei23:
    image: nginx:alpine
    container_name: ei23
    volumes:
      - ./volumes/ei23/conf:/etc/nginx/conf.d
      - ./volumes/ei23/web:/www
      - ./volumes/ei23/docs/site:/www/docs
    ports:
      - "80:80"
    # labels:
    #   - traefik.enable=true
    #   - traefik.http.routers.ei23-lan.rule=(Host(`192.168.178.2`) || Host(`raspberrypi`))
    #   - traefik.http.routers.ei23-lan.priority=1
    #   - traefik.http.routers.ei23-lan.entrypoints=lan
    restart: unless-stopped

  # Database
  influxdb:
    container_name: influxdb
    image: influxdb:1.8
    restart: unless-stopped
    ports:
    - "8086:8086"
    - "8083:8083"
    - "2003:2003"
    environment:
    - "INFLUXDB_DB=MAIN"
    # - "INFLUXDB_DATA_ENGINE=tsm1"
    - "INFLUXDB_REPORTING_DISABLED=false"
    - "INFLUXDB_STORE_ENABLED=false"
    - "INFLUXDB_QUERY_LOG_ENABLED=false"
    - "INFLUXDB_ADMIN_ENABLED=true"
      # -  "INFLUXDB_HTTP_AUTH_ENABLED=true"
      # -  "INFLUXDB_ADMIN_USER=admin"
      # -  "INFLUXDB_ADMIN_PASSWORD=NvlK9A67SSCCjwy"
    - "INFLUXDB_USER=admin"
    - "INFLUXDB_USER_PASSWORD=raspberry"
      # -  "INFLUXDB_READ_USER=readuser"
      # -  "INFLUXDB_READ_USER_PASSWORD=zRRo65aEbBt4IHM"
      # -  "INFLUXDB_WRITE_USER=writeuser"
      # -  "INFLUXDB_WRITE_USER_PASSWORD=vklVQ2t4q6IY0Lj"
    # # Enable Traefik Log
    # - "INFLUXDB_UDP_ENABLED=true"
    # - "INFLUXDB_UDP_BIND_ADDRESS=0.0.0.0:8089"
    # - "INFLUXDB_UDP_DATABASE=traefik"
    volumes:
    - ./volumes/influxdb/data:/var/lib/influxdb
    - ./backups/influxdb/db:/var/lib/influxdb/backup
    logging:
      options:
        max-size: "5m"
        max-file: "3"

  influxdb2:
    container_name: influxdb2
    image: influxdb:2.3.0
    restart: unless-stopped
    ports:
    - "8087:8086"
    environment:
    - "DOCKER_INFLUXDB_INIT_MODE=upgrade"
    - "DOCKER_INFLUXDB_INIT_USERNAME=deinuser"
    - "DOCKER_INFLUXDB_INIT_PASSWORD=deinpasswort"
    - "DOCKER_INFLUXDB_INIT_ORG=deineorg"
    - "DOCKER_INFLUXDB_INIT_BUCKET=deineDB"
    volumes:
    - ./volumes/influxdb2/data:/var/lib/influxdb2
    - ./volumes/influxdb2/config:/etc/influxdb2
    - ./volumes/influxdb2/v1/data:/var/lib/influxdb
    - ./volumes/influxdb2/v1/config:/etc/influxdb

  grafana:
    container_name: grafana
    image: grafana/grafana:latest
    restart: unless-stopped
    user: "0"
    ports:
      - "3000:3000"
    volumes:
      - ./volumes/grafana/data:/var/lib/grafana
      - ./volumes/grafana/log:/var/log/grafana
      - ./volumes/grafana/provisioning:/etc/grafana/provisioning
    labels:
      - traefik.enable=true
      - traefik.http.routers.grafana.rule=Host(`grafana.example.com`)
      - traefik.http.services.grafana.loadbalancer.server.port=3000
      - traefik.http.routers.grafana.entrypoints=web-secured
      - traefik.http.routers.grafana.tls=true
      - traefik.http.routers.grafana.tls.certresolver=letsEncrypt
    environment:
      - GF_PATHS_DATA=/var/lib/grafana
      - GF_PATHS_LOGS=/var/log/grafana
    # Uncomment this if open access is wanted
      # - GF_AUTH_ANONYMOUS_ENABLED=true
      # - GF_AUTH_ANONYMOUS_ORG_NAME=org
      # - GF_AUTH_ANONYMOUS_ORG_ROLE=Viewer
      # - GF_SECURITY_ALLOW_EMBEDDING=true
    depends_on:
      - influxdb
    logging:
      options:
        max-size: "5m"
        max-file: "3"

  homeassistant:
    container_name: homeassistant
    image: homeassistant/home-assistant:stable
    restart: unless-stopped
    network_mode: host
    ports:
      - "8123:8123"
    volumes:
      - ./volumes/homeassistant/config:/config
    # environment:
    #   - "TZ=Europe/Berlin"
    logging:
      options:
        max-size: "5m"
        max-file: "3"

  portainer:
    container_name: portainer
    image: portainer/portainer-ce
    restart: unless-stopped
    ports:
      - "8000:8000"
      - "9000:9000"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - ./volumes/portainer/data:/data
sind "deinuser deinpasswort etc." platzhalter oder muss man die Daten gegen was sinnvolles ersetzten ?
Raspberry PI 400 4GB # Raspberry PI 4B 4GB

Andy
User
User
Beiträge: 194
Registriert: Fr 16. Jul 2021, 22:06

Re: [influxdb] upgrade auf die version 2.x möglich ?

Beitrag von Andy »

hab ich noch was gefunden.
wenn ich in influxdb2 etwas ändern will bekomme ich eine fehlermeldung.

Code: Alles auswählen

Failed to update bucket: "write:orgs/4d2714eaa7aab105/buckets/6292014a44fcfb58 is unauthorized"
Raspberry PI 400 4GB # Raspberry PI 4B 4GB

Andy
User
User
Beiträge: 194
Registriert: Fr 16. Jul 2021, 22:06

Re: [influxdb] upgrade auf die version 2.x möglich ?

Beitrag von Andy »

Es ist schon seltsam.
Ich habe ei23 erneut installiert, erneut influxdb2 eingepflegt und jetzt geht es ohne Fehlermeldung.
Raspberry PI 400 4GB # Raspberry PI 4B 4GB

Benutzeravatar
ei23felix
Administrator
Administrator
Beiträge: 311
Registriert: Sa 17. Jul 2021, 10:44
Kontaktdaten:

Re: [influxdb] upgrade auf die version 2.x möglich ?

Beitrag von ei23felix »

Andy hat geschrieben:
Mi 20. Jul 2022, 20:45
Ein Segen.....
Ich will die Daten von den Solar Invertern und vom Battery Management System visualisieren und beide Lösungen erwarten eine 2.x Datenbank.
Ich muss auch noch irgendwelche Token erzeugen. Mal sehen wie das geht

BTW. hast du einen formatierungsfehler gepostet.

Code: Alles auswählen

sudo cp -r ei23-docker/volumes/influxdb/* 
ei23-docker/volumes/influxdb2/v1/
so sollte es korrekt sein oder?

Code: Alles auswählen

sudo cp -r ei23-docker/volumes/influxdb/* ei23-docker/volumes/influxdb2/v1/

Ich bekomme 2 fehler angezeigt

Code: Alles auswählen

ERROR: yaml.parser.ParserError: while parsing a block mapping
  in "./docker-compose.yml", line 1, column 1
expected <block end>, but found '<block mapping start>'
  in "./docker-compose.yml", line 105, column 3
===================================================
//// Docker-Compose verursacht Fehler... (siehe oben)
891a1587d364: Pull complete
6a5d1ed6a27d: Pull complete
1186afd5d5e8: Pull complete
2d0df5326ac1: Pull complete
5d6354ffc941: Pull complete
5fcbacb5196e: Pull complete
16ae52c693b9: Pull complete
4278dea3bc40: Pull complete
77049a9c8a36: Pull complete
Creating influxdb2 ... done


Hier die docker-compose-yml

Code: Alles auswählen

version: '3'

networks:
  nextcloud: # comment this out if not needed
    driver: bridge
    internal: true
  fireflyiii: # comment this out if not needed
    driver: bridge
    internal: true

services:

  # MQTT-Broker
  mosquitto:
    container_name: mosquitto
    image: eclipse-mosquitto
    restart: unless-stopped
    user: "1883"
    ports:
      - "1883:1883"
      - "9001:9001"
    volumes:
      - ./volumes/mosquitto/data:/mosquitto/data
      - ./volumes/mosquitto/log:/mosquitto/log
      - ./volumes/mosquitto/config:/mosquitto/config
    logging:
      options:
        max-size: "5m"
        max-file: "3"
      
  # startpage for ei23-SmartHomeServer
  ei23:
    image: nginx:alpine
    container_name: ei23
    volumes:
      - ./volumes/ei23/conf:/etc/nginx/conf.d
      - ./volumes/ei23/web:/www
      - ./volumes/ei23/docs/site:/www/docs
    ports:
      - "80:80"
    # labels:
    #   - traefik.enable=true
    #   - traefik.http.routers.ei23-lan.rule=(Host(`192.168.178.2`) || Host(`raspberrypi`))
    #   - traefik.http.routers.ei23-lan.priority=1
    #   - traefik.http.routers.ei23-lan.entrypoints=lan
    restart: unless-stopped

  # Database
  influxdb:
    container_name: influxdb
    image: influxdb:1.8
    restart: unless-stopped
    ports:
    - "8086:8086"
    - "8083:8083"
    - "2003:2003"
    environment:
    - "INFLUXDB_DB=MAIN"
    # - "INFLUXDB_DATA_ENGINE=tsm1"
    - "INFLUXDB_REPORTING_DISABLED=false"
    - "INFLUXDB_STORE_ENABLED=false"
    - "INFLUXDB_QUERY_LOG_ENABLED=false"
    - "INFLUXDB_ADMIN_ENABLED=true"
      # -  "INFLUXDB_HTTP_AUTH_ENABLED=true"
      # -  "INFLUXDB_ADMIN_USER=admin"
      # -  "INFLUXDB_ADMIN_PASSWORD=NvlK9A67SSCCjwy"
    - "INFLUXDB_USER=admin"
    - "INFLUXDB_USER_PASSWORD=raspberry"
      # -  "INFLUXDB_READ_USER=readuser"
      # -  "INFLUXDB_READ_USER_PASSWORD=zRRo65aEbBt4IHM"
      # -  "INFLUXDB_WRITE_USER=writeuser"
      # -  "INFLUXDB_WRITE_USER_PASSWORD=vklVQ2t4q6IY0Lj"
    # # Enable Traefik Log
    # - "INFLUXDB_UDP_ENABLED=true"
    # - "INFLUXDB_UDP_BIND_ADDRESS=0.0.0.0:8089"
    # - "INFLUXDB_UDP_DATABASE=traefik"
    volumes:
    - ./volumes/influxdb/data:/var/lib/influxdb
    - ./backups/influxdb/db:/var/lib/influxdb/backup
    logging:
      options:
        max-size: "5m"
        max-file: "3"

  influxdb2:
    container_name: influxdb2
    image: influxdb:2.3.0
    restart: unless-stopped
    ports:
    - "8087:8086"
    environment:
    - "DOCKER_INFLUXDB_INIT_MODE=upgrade"
    - "DOCKER_INFLUXDB_INIT_USERNAME=deinuser"
    - "DOCKER_INFLUXDB_INIT_PASSWORD=deinpasswort"
    - "DOCKER_INFLUXDB_INIT_ORG=deineorg"
    - "DOCKER_INFLUXDB_INIT_BUCKET=deineDB"
    volumes:
    - ./volumes/influxdb2/data:/var/lib/influxdb2
    - ./volumes/influxdb2/config:/etc/influxdb2
    - ./volumes/influxdb2/v1/data:/var/lib/influxdb
    - ./volumes/influxdb2/v1/config:/etc/influxdb

  grafana:
    container_name: grafana
    image: grafana/grafana:latest
    restart: unless-stopped
    user: "0"
    ports:
      - "3000:3000"
    volumes:
      - ./volumes/grafana/data:/var/lib/grafana
      - ./volumes/grafana/log:/var/log/grafana
      - ./volumes/grafana/provisioning:/etc/grafana/provisioning
    labels:
      - traefik.enable=true
      - traefik.http.routers.grafana.rule=Host(`grafana.example.com`)
      - traefik.http.services.grafana.loadbalancer.server.port=3000
      - traefik.http.routers.grafana.entrypoints=web-secured
      - traefik.http.routers.grafana.tls=true
      - traefik.http.routers.grafana.tls.certresolver=letsEncrypt
    environment:
      - GF_PATHS_DATA=/var/lib/grafana
      - GF_PATHS_LOGS=/var/log/grafana
    # Uncomment this if open access is wanted
      # - GF_AUTH_ANONYMOUS_ENABLED=true
      # - GF_AUTH_ANONYMOUS_ORG_NAME=org
      # - GF_AUTH_ANONYMOUS_ORG_ROLE=Viewer
      # - GF_SECURITY_ALLOW_EMBEDDING=true
    depends_on:
      - influxdb
    logging:
      options:
        max-size: "5m"
        max-file: "3"

  homeassistant:
    container_name: homeassistant
    image: homeassistant/home-assistant:stable
    restart: unless-stopped
    network_mode: host
    ports:
      - "8123:8123"
    volumes:
      - ./volumes/homeassistant/config:/config
    # environment:
    #   - "TZ=Europe/Berlin"
    logging:
      options:
        max-size: "5m"
        max-file: "3"

  portainer:
    container_name: portainer
    image: portainer/portainer-ce
    restart: unless-stopped
    ports:
      - "8000:8000"
      - "9000:9000"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - ./volumes/portainer/data:/data
sind "deinuser deinpasswort etc." platzhalter oder muss man die Daten gegen was sinnvolles ersetzten ?
jo, da bin ich wohl auf die Enter Taste gekommen
  • Böse Menschen sind selten tatsächlich böse, meistens eher faul oder dumm.
  • Du kannst nur dann sicher sein, wenn du weißt, dass du nie ganz sicher sein kannst.
  • Du kannst nur unabhängig werden, wenn du weißt, dass du nie ganz unabhängig sein wirst.

Benutzeravatar
ei23felix
Administrator
Administrator
Beiträge: 311
Registriert: Sa 17. Jul 2021, 10:44
Kontaktdaten:

Re: [influxdb] upgrade auf die version 2.x möglich ?

Beitrag von ei23felix »

Andy hat geschrieben:
Mi 20. Jul 2022, 23:12
hab ich noch was gefunden.
wenn ich in influxdb2 etwas ändern will bekomme ich eine fehlermeldung.

Code: Alles auswählen

Failed to update bucket: "write:orgs/4d2714eaa7aab105/buckets/6292014a44fcfb58 is unauthorized"
Gut möglich, dass man das "upgrade" aus der docker-compose config anschließend rausnehmen muss.
  • Böse Menschen sind selten tatsächlich böse, meistens eher faul oder dumm.
  • Du kannst nur dann sicher sein, wenn du weißt, dass du nie ganz sicher sein kannst.
  • Du kannst nur unabhängig werden, wenn du weißt, dass du nie ganz unabhängig sein wirst.

Andy
User
User
Beiträge: 194
Registriert: Fr 16. Jul 2021, 22:06

Re: [influxdb] upgrade auf die version 2.x möglich ?

Beitrag von Andy »

je nee, ich denke der Fehler wird VOR dem Bildschirm sitzen :-) ich versuche noch zu ergründen was ich getan habe
Raspberry PI 400 4GB # Raspberry PI 4B 4GB

Andi99
User
User
Beiträge: 10
Registriert: Fr 30. Dez 2022, 10:24

Re: [influxdb] upgrade auf die version 2.x möglich ?

Beitrag von Andi99 »

Hallo,
ich versuche gerade auf meinem RPI4 influxDB2.x über docker zu installieren.

docker-compose.yml anpassen (wie oben beschrieben) und

ei23 dc
Pulling influxdb2 (influxdb:2.7)...
2.7: Pulling from library/influxdb
ERROR: no matching manifest for linux/arm/v7 in the manifest list entries

uname -a
Linux raspberrypi 6.1.21-v8+ #1642 SMP PREEMPT Mon Apr 3 17:24:16 BST 2023 aarch64 GNU/Linux

Was muss ich machen damit es klappt?
Danke
Andi99

Antworten