Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Présentation de la migration
Après avoir rempli les conditions préalables :
Exécuter le script de migration : à l'aide d'une application de terminal de votre choix, exécutez le script Python pour transférer les données de l'instance InfluxDB source vers l'instance InfluxDB de destination.
Fournir des informations d'identification : indiquez les adresses et les ports des hôtes en tant qu'CLIoptions.
Vérifier les données : assurez-vous que les données sont correctement transférées en :
Utilisation de l'interface utilisateur InfluxDB et inspection des buckets.
Répertorier les seaux avec
influx bucket list -t <destination token> --host <destination host address> --skip-verify
.Utilisation
influx v1 shell -t <destination token> --host <destination host address> --skip-verify
et exécutionSELECT * FROM <migrated bucket>.<retention period>.<measurement name> LIMIT 100 to view contents of a bucket or SELECT COUNT(*) FROM <migrated bucket>.<retention period>.<measurment name>
pour vérifier que le nombre correct d'enregistrements ont été migrés.
Exemple de course
Ouvrez l'application pour terminal de votre choix et assurez-vous que les prérequis requis sont correctement installés :
Accédez au script de migration :
Préparez les informations suivantes :
Nom du compartiment source à migrer.
(Facultatif) Choisissez un nouveau nom de compartiment pour le compartiment migré sur le serveur de destination.
Jeton racine pour les instances d'afflux source et de destination.
Adresse hôte des instances d'afflux source et de destination.
(Facultatif) Nom et informations d'identification du compartiment S3 ; les AWS Command Line Interface informations d'identification doivent être définies dans les variables d'environnement du système d'exploitation.
# AWS credentials (for timestream testing) export AWS_ACCESS_KEY_ID="xxx" export AWS_SECRET_ACCESS_KEY="xxx"
Construisez la commande comme suit :
python3 influx_migration.py --src-bucket [source-bucket-name] --dest-bucket [dest-bucket-name] --src-host [source host] --dest-host [dest host] --s3-bucket [s3 bucket name](optional) --log-level debug
Exécutez le script :
Attendez la fin de l'exécution du script.
Vérifiez l'intégrité des données du compartiment récemment migré,
performance.txt
. Ce fichier, situé dans le répertoire où le script a été exécuté, contient des informations de base sur la durée de chaque étape.
Scénarios de migration
Exemple 1 : migration simple à l'aide du stockage local
Vous souhaitez migrer un seul compartiment, le compartiment principal, du serveur source (http://localhost:8086)
vers un serveur de destination. (http://dest-server-address:8086)
Après avoir vérifié que vous avez TCP accès (pour l'HTTPaccès) aux deux machines hébergeant les instances InfluxDB sur le port 8086, que vous disposez à la fois de jetons source et de destination et que vous les avez stockés en tant que variables d'environnement INFLUX_SRC_TOKEN
etINFLUX_DEST_TOKEN
, respectivement, pour plus de sécurité :
python3 influx_migration.py --src-bucket primary-bucket --src-host http://localhost:8086 --dest-host http://dest-server-address:8086
La sortie doit ressembler à ce qui suit :
INFO: influx_migration.py: Backing up bucket data and metadata using the InfluxDB CLI 2023/10/26 10:47:15 INFO: Downloading metadata snapshot 2023/10/26 10:47:15 INFO: Backing up TSM for shard 1 2023/10/26 10:47:15 INFO: Backing up TSM for shard 8245 2023/10/26 10:47:15 INFO: Backing up TSM for shard 8263 [More shard backups . . .] 2023/10/26 10:47:20 INFO: Backing up TSM for shard 8240 2023/10/26 10:47:20 INFO: Backing up TSM for shard 8268 2023/10/26 10:47:20 INFO: Backing up TSM for shard 2 INFO: influx_migration.py: Restoring bucket data and metadata using the InfluxDB CLI 2023/10/26 10:47:20 INFO: Restoring bucket "96c11c8876b3c016" as "primary-bucket" 2023/10/26 10:47:21 INFO: Restoring TSM snapshot for shard 12772 2023/10/26 10:47:22 INFO: Restoring TSM snapshot for shard 12773 [More shard restores . . .] 2023/10/26 10:47:28 INFO: Restoring TSM snapshot for shard 12825 2023/10/26 10:47:28 INFO: Restoring TSM snapshot for shard 12826 INFO: influx_migration.py: Migration complete
Le répertoire influxdb-backup-<timestamp>
sera créé et stocké dans le répertoire à partir duquel le script a été exécuté, contenant les fichiers de sauvegarde.
Exemple 2 : migration complète à l'aide du stockage local et de la journalisation du débogage
Comme ci-dessus, sauf que vous souhaitez migrer tous les buckets, jetons, utilisateurs et tableaux de bord, supprimer les buckets sur le serveur de destination et poursuivre sans confirmation par l'utilisateur d'une migration complète de la base de données à l'aide de cette option. --confirm-full
Vous souhaitez également connaître les mesures de performance afin d'activer la journalisation du débogage.
python3 influx_migration.py --full --confirm-full --src-host http://localhost:8086 --dest-host http://dest-server-address:8086 --log-level debug
La sortie doit ressembler à ce qui suit :
INFO: influx_migration.py: Backing up bucket data and metadata using the InfluxDB CLI 2023/10/26 10:55:27 INFO: Downloading metadata snapshot 2023/10/26 10:55:27 INFO: Backing up TSM for shard 6952 2023/10/26 10:55:27 INFO: Backing up TSM for shard 6953 [More shard backups . . .] 2023/10/26 10:55:36 INFO: Backing up TSM for shard 8268 2023/10/26 10:55:36 INFO: Backing up TSM for shard 2 DEBUG: influx_migration.py: backup started at 2023-10-26 10:55:27 and took 9.41 seconds to run. INFO: influx_migration.py: Restoring bucket data and metadata using the InfluxDB CLI 2023/10/26 10:55:36 INFO: Restoring KV snapshot 2023/10/26 10:55:38 WARN: Restoring KV snapshot overwrote the operator token, ensure following commands use the correct token 2023/10/26 10:55:38 INFO: Restoring SQL snapshot 2023/10/26 10:55:39 INFO: Restoring TSM snapshot for shard 6952 2023/10/26 10:55:39 INFO: Restoring TSM snapshot for shard 6953 [More shard restores . . .] 2023/10/26 10:55:49 INFO: Restoring TSM snapshot for shard 8268 2023/10/26 10:55:49 INFO: Restoring TSM snapshot for shard 2 DEBUG: influx_migration.py: restore started at 2023-10-26 10:55:36 and took 13.51 seconds to run. INFO: influx_migration.py: Migration complete
Exemple 3 : utilisation de la migration complèteCSV, organisation de destination et compartiment S3
Identique à l'exemple précédent, mais en utilisant Linux ou Mac et en stockant les fichiers dans le compartiment S3,my-s3-bucket
. Cela permet d'éviter que les fichiers de sauvegarde ne surchargent la capacité de stockage locale.
python3 influx_migration.py --full --src-host http://localhost:8086 --dest-host http://dest-server-address:8086 --csv --dest-org MyOrg --s3-bucket my-s3-bucket
La sortie doit ressembler à ce qui suit :
INFO: influx_migration.py: Creating directory influxdb-backups INFO: influx_migration.py: Mounting influxdb-migration-bucket INFO: influx_migration.py: Creating directory influxdb-backups/my-s3-bucket/influxdb-backup-1698352128323 INFO: influx_migration.py: Backing up bucket data and metadata using the InfluxDB v2 API INFO: influx_migration.py: Restoring bucket data and metadata from csv INFO: influx_migration.py: Restoring bucket some-bucket INFO: influx_migration.py: Restoring bucket another-bucket INFO: influx_migration.py: Restoring bucket primary-bucket INFO: influx_migration.py: Migration complete INFO: influx_migration.py: Unmounting influxdb-backups INFO: influx_migration.py: Removing temporary mount directory