Présentation de la migration - Amazon Timestream

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 :

  1. 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.

  2. Fournir des informations d'identification : indiquez les adresses et les ports des hôtes en tant qu'CLIoptions.

  3. Vérifier les données : assurez-vous que les données sont correctement transférées en :

    1. Utilisation de l'interface utilisateur InfluxDB et inspection des buckets.

    2. Répertorier les seaux avecinflux bucket list -t <destination token> --host <destination host address> --skip-verify.

    3. Utilisation influx v1 shell -t <destination token> --host <destination host address> --skip-verify et exécution SELECT * 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
  1. Ouvrez l'application pour terminal de votre choix et assurez-vous que les prérequis requis sont correctement installés :

    Prérequis pour les scripts
  2. Accédez au script de migration :

    Emplacement du script
  3. Préparez les informations suivantes :

    1. Nom du compartiment source à migrer.

    2. (Facultatif) Choisissez un nouveau nom de compartiment pour le compartiment migré sur le serveur de destination.

    3. Jeton racine pour les instances d'afflux source et de destination.

    4. Adresse hôte des instances d'afflux source et de destination.

    5. (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"
    6. 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
    7. Exécutez le script :

      Exécution de script
    8. Attendez la fin de l'exécution du script.

    9. 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