Tous les produits
Search
Centre de documentation

ApsaraDB for MongoDB:Synchronisation unidirectionnelle d'instances MongoDB avec MongoShake

Dernière mise à jour :Aug 27, 2026

Tableau 1. Paramètres de collector.conf

Catégorie

Paramètre

Description

Exemple

N/A

conf.version

Version du fichier de configuration. Ne modifiez pas cette valeur.

conf.version = 4

Options globales

id

ID de la tâche de synchronisation. Cette valeur est personnalisable et sert à nommer le fichier journal, la base de données stockant les points de contrôle ainsi que la base de données sur l'instance cible.

id = mongoshake

master_quorum

Option de haute disponibilité. Lorsque des nœuds MongoShake principaux et secondaires synchronisent des données depuis la même source, définissez ce paramètre à true sur le nœud MongoShake principal.

Valeurs valides :

  • true : activé

  • false : désactivé

Remarque

La valeur par défaut est false.

master_quorum = false

full_sync.http_port

Port HTTP permettant de consulter l'état de la synchronisation complète.

Remarque

La valeur par défaut est 9101.

full_sync.http_port = 9101

incr_sync.http_port

Port HTTP permettant de consulter l'état de la synchronisation incrémentielle.

Remarque

La valeur par défaut est 9100.

incr_sync.http_port = 9100

system_profile_port

Port de profilage utilisé pour afficher les informations internes de la pile d'exécution.

system_profile_port = 9200

log.level

Niveau de journalisation. Valeurs valides :

  • error : informations de niveau erreur.

  • warning : informations de niveau avertissement.

  • info : messages informatifs sur l'état actuel du système.

  • debug : informations de débogage.

Valeur par défaut : info.

log.level = info

log.dir

Répertoire destiné aux fichiers journaux et PID. Si ce paramètre n'est pas défini, le répertoire logs du chemin courant est utilisé par défaut.

Remarque

Vous devez spécifier un chemin absolu pour ce paramètre.

log.dir = ./logs/

log.file

Nom du fichier journal. Cette valeur est personnalisable.

Remarque

La valeur par défaut est collector.log.

log.file = collector.log

log.flush

Fréquence d'actualisation des journaux à l'écran. Valeurs valides :

  • true : affiche immédiatement chaque entrée de journal. Cela peut affecter les performances.

  • false : ne garantit pas l'affichage immédiat de chaque entrée. Cette option améliore les performances.

Remarque

La valeur par défaut est false.

log.flush = false

sync_mode

Mode de synchronisation des données. Valeurs valides :

  • all : effectue une synchronisation complète puis incrémentielle.

  • full : effectue uniquement une synchronisation complète.

  • incr : effectue uniquement une synchronisation incrémentielle.

Remarque

La valeur par défaut est incr.

sync_mode = all

mongo_urls

URI de chaîne de connexion de l'instance MongoDB source. Dans l'exemple, le compte de base de données est test, situé dans la base admin.

Remarque

mongo_urls = mongodb://test:**@dds-bp19f409d7512.mongodb.rds.aliyuncs.com:3717,dds-bp19f409d7512**.mongodb.rds.aliyuncs.com:3717

mongo_cs_url

Si la source est une instance Sharded Cluster, vous devez spécifier l'URI de chaîne de connexion du nœud ConfigServer (CS). Pour savoir comment obtenir cette URI, consultez Demander un endpoint pour un shard.

Dans l'exemple, le compte de base de données est test, situé dans la base admin.

mongo_cs_url = mongodb://test:**@dds-bp19f409d7512-csxxx.mongodb.rds.aliyuncs.com:3717,dds-bp19f409d7512**-csxxx.mongodb.rds.aliyuncs.com:3717/admin

mongo_s_url

Si la source est une instance Sharded Cluster, vous devez spécifier l'URI de chaîne de connexion d'au moins un nœud mongos. Séparez plusieurs adresses mongos par des virgules (,). Pour savoir comment obtenir cette URI, consultez Demander un endpoint pour un shard.

Dans l'exemple, le compte de base de données est test, situé dans la base admin.

mongos_s_url = mongodb://test:**@s-bp19f409d7512.mongodb.rds.aliyuncs.com:3717,s-bp19f409d7512**.mongodb.rds.aliyuncs.com:3717/admin

tunnel

Type de canal de synchronisation. Valeurs valides :

  • direct : synchronise les données directement vers l'instance MongoDB cible.

  • rpc : synchronise les données via NET/RPC.

  • tcp : synchronise les données via TCP.

  • file : synchronise les données par transfert de fichiers.

  • kafka : synchronise les données via Kafka.

  • mock : réservé aux tests. Aucune donnée n'est écrite dans le canal.

Remarque

La valeur par défaut est direct.

tunnel = direct

tunnel.address

Adresse de destination. Le format d'adresse pris en charge varie selon le type de tunnel :

  • Si tunnel est défini à direct, spécifiez l'URI de chaîne de connexion de l'instance MongoDB cible.

  • Si tunnel est défini à rpc, spécifiez l'adresse du récepteur RPC de l'instance cible.

  • Si tunnel est défini à tcp, spécifiez l'adresse du récepteur TCP de l'instance cible.

  • Si tunnel est défini à file, spécifiez le chemin du fichier de données de l'instance cible.

  • Si tunnel est défini à kafka, spécifiez l'adresse Kafka, par exemple topic@brokers1,brokers2.

  • Si tunnel est défini à mock, laissez ce paramètre vide.

Dans l'exemple, le compte de base de données est test, situé dans la base admin.

tunnel.address = mongodb://test:**@dds-bp19f409d7512.mongodb.rds.aliyuncs.com:3717,dds-bp19f409d7512**.mongodb.rds.aliyuncs.com:3717

tunnel.message

Type de données dans le canal. Ce paramètre n'est valide que si tunnel est défini à kafka ou file. Valeurs valides :

  • raw : type par défaut. Les données sont écrites et lues par lots.

  • json : les données sont écrites dans Kafka au format JSON, ce qui permet leur lecture directe.

  • bson : les données sont écrites dans Kafka au format binaire BSON.

Remarque

La valeur par défaut est raw.

tunnel.message = raw

mongo_connect_mode

Mode de connexion à l'instance MongoDB. Ce paramètre n'est valide que si tunnel est défini à direct. Valeurs valides :

  • primary : extrait les données du nœud principal.

  • secondaryPreferred : extrait les données d'un nœud secondaire.

  • standalone : extrait les données d'un nœud unique spécifié.

Remarque

La valeur par défaut est secondaryPreferred.

mongo_connect_mode = secondaryPreferred

filter.namespace.black

Définit une liste de blocage pour la synchronisation des données. Les namespaces spécifiés ne sont pas synchronisés vers la base de données cible. Séparez plusieurs namespaces par des points-virgules (;).

Remarque

Un namespace correspond au nom canonique d'une collection ou d'un index dans MongoDB. Il combine le nom de la base de données et celui de la collection ou de l'index, par exemple mongodbtest.customer.

filter.namespace.black = mongodbtest.customer;testdata.test123

filter.namespace.white

Définit une liste d'autorisation pour la synchronisation des données. Seuls les namespaces spécifiés sont synchronisés vers la base de données cible. Séparez plusieurs namespaces par des points-virgules (;).

filter.namespace.white = mongodbtest.customer;test123

filter.pass.special.db

Active la synchronisation des bases de données spéciales. Par défaut, les bases telles que admin, local, mongoshake, config et system.views sont filtrées. Vous pouvez activer leur synchronisation pour répondre à des besoins spécifiques. Séparez plusieurs noms de bases de données par des points-virgules (;).

filter.pass.special.db = admin;mongoshake

filter.ddl_enable

Indique s'il faut activer la synchronisation DDL. Valeurs valides :

  • true : activé

  • false : désactivé

Remarque

Cette fonctionnalité n'est pas prise en charge lorsque la source est une instance Sharded Cluster.

filter.ddl_enable = false

checkpoint.storage.url

Adresse de stockage des points de contrôle, utilisée pour permettre la reprise de la synchronisation. Si ce paramètre n'est pas configuré, le programme écrit les points de contrôle dans l'une des bases suivantes selon le type d'instance :

  • Instance Replica Set MongoDB : écriture dans la base mongoshake.

  • Instance Sharded Cluster MongoDB : écriture dans la base admin du nœud ConfigServer.

Dans l'exemple, le compte de base de données est test, situé dans la base admin.

checkpoint.storage.url = mongodb://test:**@dds-bp19f409d7512.mongodb.rds.aliyuncs.com:3717,dds-bp19f409d7512**.mongodb.rds.aliyuncs.com:3717

checkpoint.storage.db

Nom de la base de données destinée au stockage des points de contrôle.

Remarque

La valeur par défaut est mongoshake.

checkpoint.storage.db = mongoshake

checkpoint.storage.collection

Nom de la collection destinée au stockage des points de contrôle. Lorsque des nœuds MongoShake principaux et secondaires synchronisent des données depuis la même source, vous pouvez modifier ce nom de collection pour éviter les conflits.

Remarque

La valeur par défaut est ckpt_default.

checkpoint.storage.collection = ckpt_default

checkpoint.start_position

Position de départ de la synchronisation. Ce paramètre n'est utilisé qu'en l'absence de point de contrôle existant. Le format est YYYY-MM-DDTHH:MM:SSZ.

Remarque

La valeur par défaut est 1970-01-01T00:00:00Z.

checkpoint.start_position = 1970-01-01T00:00:00Z

transform.namespace

Renomme une base de données ou une collection source avant de la synchroniser vers la cible. Par exemple, vous pouvez renommer database A.collection B de l'instance source en database C.collection D sur l'instance cible.

transform.namespace = fromA.fromB:toC.toD

Options de synchronisation complète

full_sync.reader.collection_parallel

Nombre maximal de collections que MongoShake peut extraire simultanément.

full_sync.reader.collection_parallel = 6

full_sync.reader.write_document_parallel

Nombre de threads d'écriture simultanés par collection pour MongoShake.

full_sync.reader.write_document_parallel = 8

full_sync.reader.document_batch_size

Taille du lot pour l'écriture de documents sur l'instance cible. Par exemple, une valeur de 128 indique que 128 documents sont regroupés avant écriture.

full_sync.reader.document_batch_size = 128

full_sync.collection_exist_drop

Détermine le comportement lorsqu'une collection cible porte le même nom qu'une collection source. Valeurs valides :

  • true : supprime la collection cible avant de synchroniser la collection source.

    Avertissement

    Cette opération supprime la collection cible. Assurez-vous de disposer d'une sauvegarde avant de continuer.

  • false : signale une erreur et quitte le programme si une collection homonyme est détectée dans la base cible.

full_sync.collection_exist_drop = true

full_sync.create_index

Indique s'il faut créer un index une fois la synchronisation terminée. Valeurs valides :

  • foreground : crée un index au premier plan.

  • background : crée un index en arrière-plan.

  • none : ne crée aucun index.

full_sync.create_index = none

full_sync.executor.insert_on_dup_update

Indique s'il faut convertir une instruction INSERT en instruction UPDATE si la base cible contient déjà un champ _id dupliqué. Valeurs valides :

  • true : convertit l'instruction.

  • false : ne convertit pas l'instruction.

full_sync.executor.insert_on_dup_update = false

full_sync.executor.filter.orphan_document

Indique s'il faut filtrer les documents orphelins lorsque la source est une instance Sharded Cluster. Valeurs valides :

  • true : filtre les documents orphelins.

  • false : ne filtre pas les documents orphelins.

full_sync.executor.filter.orphan_document = false

full_sync.executor.majority_enable

Indique s'il faut activer l'écriture majoritaire sur l'instance cible. Valeurs valides :

  • true : active l'écriture majoritaire.

  • false : désactive l'écriture majoritaire.

full_sync.executor.majority_enable = false

Options de synchronisation incrémentielle

incr_sync.mongo_fetch_method

Méthode d'extraction des données incrémentielles. Valeurs valides :

  • oplog : extrait les oplogs de la base source.

  • change_stream : extrait les événements de changement de la base source. Pris en charge uniquement à partir de MongoDB 4.0.

Valeur par défaut : oplog.

incr_sync.mongo_fetch_method = oplog

incr_sync.oplog.gids

Utilisé pour configurer la réplication bidirectionnelle des clusters cloud.

incr_sync.oplog.gids = xxxxxxxxxxxx

incr_sync.shard_key

Méthode de concurrence interne de MongoShake. Ne modifiez pas ce paramètre.

incr_sync.shard_key = collection

incr_sync.worker

Nombre de threads simultanés pour la transmission des oplogs. Vous pouvez augmenter cette valeur si les performances de l'hôte le permettent.

Remarque

Si la source est une instance Sharded Cluster, le nombre de threads doit être égal au nombre de shards.

incr_sync.worker = 8

incr_sync.worker.oplog_compressor

Active la compression des données pour réduire la consommation de bande passante réseau. Valeurs valides :

  • none : aucune compression

  • gzip : compresse les données au format gzip

  • zlib : compresse les données au format zlib

  • deflate : compresse les données au format deflate

Remarque

Ce paramètre n'est valide que si le paramètre tunnel n'est pas défini à direct. Si le paramètre tunnel est défini à direct, vous devez définir ce paramètre à none.

incr_sync.worker.oplog_compressor = none

incr_sync.target_delay

Délai, en secondes, avant l'application des modifications de la source sur la cible. Vous pouvez définir ce paramètre pour prévenir les opérations accidentelles. Par exemple, incr_sync.target_delay = 1800 crée un délai de 30 minutes.

Remarque

Une valeur de 0 indique une synchronisation en temps réel.

incr_sync.target_delay = 1800

incr_sync.worker.batch_queue_size

Paramètres de configuration de la file d'attente interne de MongoShake. Ne modifiez ces paramètres qu'en cas de nécessité absolue.

incr_sync.worker.batch_queue_size = 64

incr_sync.adaptive.batching_max_size

incr_sync.adaptive.batching_max_size = 1024

incr_sync.fetcher.buffer_capacity

incr_sync.fetcher.buffer_capacity = 256

Options de synchronisation MongoDB (uniquement pour le mode direct)

incr_sync.executor.upsert

Indique s'il faut convertir une instruction UPDATE en instruction INSERT si aucun document avec l'_id ou l'index unique correspondant n'existe. Valeurs valides :

  • true : convertit l'instruction.

  • false : ne convertit pas l'instruction.

incr_sync.executor.upsert = false

incr_sync.executor.insert_on_dup_update

Indique s'il faut convertir une instruction INSERT en instruction UPDATE si un document avec l'_id ou l'index unique correspondant existe déjà. Valeurs valides :

  • true : convertit l'instruction.

  • false : ne convertit pas l'instruction.

incr_sync.executor.insert_on_dup_update = false

incr_sync.conflict_write_to

Indique s'il faut enregistrer les documents conflictuels lorsqu'un conflit d'écriture survient pendant la synchronisation. Valeurs valides :

  • none : n'enregistre pas les documents conflictuels.

  • db : enregistre les journaux de conflits dans la base mongoshake_conflict.

  • sdk : enregistre les journaux de conflits dans le SDK.

incr_sync.conflict_write_to = none

incr_sync.executor.majority_enable

Indique s'il faut activer l'écriture majoritaire sur l'instance cible. Valeurs valides :

  • true : active l'écriture majoritaire.

  • false : désactive l'écriture majoritaire.

Remarque

L'activation de cette fonctionnalité peut affecter les performances.

incr_sync.executor.majority_enable = false

MongoShake, outil open source développé par Alibaba Cloud, synchronise les données entre bases MongoDB pour des cas d'usage tels que l'analyse de données, la reprise après sinistre et la réplication actif-actif. Cette rubrique explique comment configurer une synchronisation en temps réel entre instances ApsaraDB for MongoDB.

MongoShake

MongoShake est un outil service polyvalent développé par Alibaba Cloud en Go. Il réplique les données MongoDB en lisant ses journaux d'opérations (oplogs) et en les rejouant sur l'instance cible.

MongoShake offre également des fonctionnalités d'abonnement et de consommation de données. Il s'intègre aux SDK, à Kafka et à MetaQ pour prendre en charge des scénarios tels que l'abonnement aux journaux, la synchronisation inter-centres de données et l'éviction asynchrone de cache.

Remarque

Pour plus d'informations, consultez le dépôt GitHub MongoShake.

Sources de données prises en charge

Source

Cible

Base de données MongoDB auto-gérée sur une instance ECS

Base de données MongoDB auto-gérée sur une instance ECS

Base de données MongoDB auto-gérée sur site

Base de données MongoDB auto-gérée sur site

Instance ApsaraDB for MongoDB

Instance ApsaraDB for MongoDB

Base de données MongoDB cloud tierce

Base de données MongoDB cloud tierce

Remarques

  • N'effectuez aucune opération DDL sur la base source avant la fin de la synchronisation complète. Sinon, des incohérences de données peuvent survenir.

  • La synchronisation de la base locale n'est pas prise en charge. Pour synchroniser des données depuis la base admin, consultez Migrer les données métier de la base admin vers une base non-admin.

Permissions requises

Source

Permissions requises

Instance MongoDB source

Permission readAnyDatabase, permission read sur la base local et permission readWrite sur la base mongoshake.

Remarque

Le programme MongoShake crée automatiquement la base mongoshake dans l'instance source lors du démarrage d'une synchronisation incrémentielle.

Instance MongoDB cible

Permission readWriteAnyDatabase ou permission readWrite sur la base de données cible.

Remarque

Pour savoir comment créer et autoriser des utilisateurs de base de données MongoDB, consultez Utiliser DMS pour gérer les utilisateurs de bases de données MongoDB ou la commande db.createUser.

Prérequis

  1. Pour des performances de synchronisation optimales, assurez-vous que l'instance Replica Set MongoDB source utilise un VPC. Si elle utilise le réseau classique, changez son type de réseau pour VPC. Pour plus d'informations, consultez Changer le type de réseau d'une instance du réseau classique vers un VPC.

  2. Créez une instance Replica Set MongoDB cible. Afin de minimiser la latence réseau, créez l'instance cible dans le même VPC que l'instance source. Pour plus d'informations, consultez Créer une instance Replica Set.

  3. Créez une instance ECS pour exécuter MongoShake. Afin de minimiser la latence réseau, créez l'instance ECS dans le même VPC que l'instance source. Pour plus d'informations, consultez Créer une instance ECS.

  4. Ajoutez l'adresse IP privée de l'instance ECS aux listes d'autorisation des instances MongoDB source et cible, puis vérifiez que l'instance ECS peut se connecter aux deux instances. Pour plus d'informations, consultez Modifier une liste d'autorisation.

Remarque

Si votre configuration réseau ne répond pas aux exigences ci-dessus, vous pouvez demander un endpoint public pour les instances MongoDB source et cible. Ajoutez ensuite l'adresse IP publique de l'instance ECS aux listes d'autorisation des deux instances MongoDB afin d'effectuer la synchronisation via les endpoints publics. Pour plus d'informations, consultez Demander un endpoint public et Modifier une liste d'autorisation.

Procédure

Cette procédure suppose que MongoShake est installé dans le répertoire /test/mongoshake.

  1. Connectez-vous à l'instance ECS.

    Remarque

    Choisissez une méthode de connexion adaptée à votre scénario. Pour plus d'informations, consultez Vue d'ensemble des méthodes de connexion aux serveurs ECS.

  2. Exécutez la commande suivante pour télécharger le programme MongoShake et le renommer en mongoshake.tar.gz.

    wget "https://github.com/alibaba/MongoShake/releases/download/release-v2.8.7-20251218/mongo-shake-v2.8.7.tgz" -O mongoshake.tar.gz
    Remarque

    La commande télécharge MongoShake 2.8.7. Pour télécharger la dernière version, consultez la page des versions.

  3. Exécutez la commande suivante pour extraire le package MongoShake dans le répertoire /test/mongoshake.

    tar zxvf mongoshake.tar.gz && mv mongo-shake-v2.8.7 /test/mongoshake && cd /test/mongoshake
  4. Exécutez la commande vi collector.conf pour modifier le fichier de configuration MongoShake collector.conf. Le tableau suivant décrit les principaux paramètres.

    Paramètre

    Description

    Exemple

    mongo_urls

    URI de chaîne de connexion de l'instance MongoDB source. Dans l'exemple, le compte de base de données est test, situé dans la base admin.

    Remarque

    mongo_urls = mongodb://test:**@dds-bp19f409d7512.mongodb.rds.aliyuncs.com:3717,dds-bp19f409d7512**.mongodb.rds.aliyuncs.com:3717

    Remarque

    Le mot de passe ne peut pas contenir le signe arobase (@). Sinon, la connexion échoue.

    tunnel.address

    URI de chaîne de connexion de l'instance MongoDB cible. Dans l'exemple, le compte de base de données est test, situé dans la base admin.

    Remarque

    tunnel.address = mongodb://test:**@dds-bp19f409d7512.mongodb.rds.aliyuncs.com:3717,dds-bp19f409d7512**.mongodb.rds.aliyuncs.com:3717

    Remarque

    Le mot de passe ne peut pas contenir le signe arobase (@). Sinon, la connexion échoue.

    sync_mode

    Mode de synchronisation des données. Valeurs valides :

    • all : effectue une synchronisation complète puis incrémentielle.

    • full : effectue uniquement une synchronisation complète.

    • incr : effectue uniquement une synchronisation incrémentielle.

    Remarque

    La valeur par défaut est incr.

    sync_mode = all

    Remarque

    Pour obtenir la liste complète des paramètres dans collector.conf, consultez la section « Paramètres de collector.conf » dans l'Annexe.

  5. Exécutez la commande suivante pour démarrer la tâche de synchronisation et afficher les journaux.

    ./collector.linux -conf=collector.conf -verbose
  6. Surveillez la sortie des journaux. Lorsqu'une entrée similaire à celle-ci apparaît, cela indique que la synchronisation complète est terminée et que la synchronisation incrémentielle a commencé.

    [09:38:57 CST 2019/06/20] [INFO] (mongoshake/collector.(*ReplicationCoordinator).Run:80) finish full sync, start incr sync with timestamp: fullBeginTs[1560994443], fullFinishTs[1560994737]

Surveillance de l'état

Une fois la synchronisation incrémentielle démarrée, ouvrez une nouvelle fenêtre de terminal et exécutez les commandes suivantes :

cd /test/mongoshake && ./mongoshake-stat --port=9100
Remarque

mongoshake-stat est un script Python qui nécessite l'installation de Python 2.7. Pour plus d'informations, consultez le site officiel de Python.

Exemple de sortie :

./mongoshake-stat --port=9100

  logs_get/sec  |  logs_repl/sec  |  logs_success/sec  |          lsn.time          |        lsn_ack.time        |       lsn_ckpt.time        |         now.time           |   replset
      none      |      none       |        none        |  2019-06-20 10:34:14       |  2019-06-20 10:34:13       |  2019-06-20 10:33:36       |  2019-06-20 10:34:14       |  mgset-10
      545       |      768        |        768         |  2019-06-20 10:34:15       |  2019-06-20 10:34:15       |  2019-06-20 10:34:14       |  2019-06-20 10:34:15       |  mgset-10
      541       |      511        |        511         |  2019-06-20 10:34:15       |  2019-06-20 10:34:15       |  2019-06-20 10:34:14       |  2019-06-20 10:34:16       |  mgset-10
      639       |      512        |        512         |  2019-06-20 10:34:16       |  2019-06-20 10:34:16       |  2019-06-20 10:34:14       |  2019-06-20 10:34:17       |  mgset-10
      543       |      512        |        512         |  2019-06-20 10:34:17       |  2019-06-20 10:34:17       |  2019-06-20 10:34:14       |  2019-06-20 10:34:18       |  mgset-10
      546       |      768        |        768         |  2019-06-20 10:34:19       |  2019-06-20 10:34:19       |  2019-06-20 10:34:14       |  2019-06-20 10:34:19       |  mgset-10
      538       |      512        |        512         |  2019-06-20 10:34:20       |  2019-06-20 10:34:20       |  2019-06-20 10:34:19       |  2019-06-20 10:34:20       |  mgset-10
      550       |      511        |        511         |  2019-06-20 10:34:21       |  2019-06-20 10:34:21       |  2019-06-20 10:34:19       |  2019-06-20 10:34:21       |  mgset-10
      546       |      512        |        512         |  2019-06-20 10:34:22       |  2019-06-20 10:34:22       |  2019-06-20 10:34:19       |  2019-06-20 10:34:22       |  mgset-10
      531       |      512        |        512         |  2019-06-20 10:34:23       |  2019-06-20 10:34:23       |  2019-06-20 10:34:19       |  2019-06-20 10:34:23       |  mgset-10
      547       |      512        |        512         |  2019-06-20 10:34:24       |  2019-06-20 10:34:24       |  2019-06-20 10:34:19       |  2019-06-20 10:34:24       |  mgset-10
      541       |      512        |        512         |  2019-06-20 10:34:24       |  2019-06-20 10:34:24       |  2019-06-20 10:34:19       |  2019-06-20 10:34:25       |  mgset-10

Description des paramètres :

Paramètre

Description

logs_get/sec

Nombre d'oplogs récupérés par seconde.

logs_repl/sec

Nombre d'opérations de rejeu d'oplogs effectuées par seconde.

logs_success/sec

Nombre d'opérations de rejeu d'oplogs réussies par seconde.

lsn.time

Horodatage du dernier oplog envoyé.

lsn_ack.time

Horodatage auquel l'opération d'écriture a été confirmée par l'instance cible.

lsn_ckpt.time

Horodatage auquel le point de contrôle a été persisté.

now.time

Heure actuelle.

replset

Nom du Replica Set de la base de données source.

Migrer les données de la base admin

MongoDB recommande officiellement de ne pas stocker de données métier dans la base admin, car les comportements de verrouillage et les conflits avec les commandes internes peuvent dégrader les performances de l'instance.

MongoShake prend en charge la synchronisation des données métier de la base admin vers une base non-admin.

Pour ce faire, suivez la Procédure. À l'étape 4, lorsque vous modifiez le fichier collector.conf, ajoutez les éléments de configuration suivants :

filter.pass.special.db = admin

# Migrate all business collections from the admin database to newDB.
transform.namespace = admin:newDB
# Or, migrate the abc collection in the admin database to the def collection in the target database. You can configure multiple rules.
transform.namespace = admin.abc:target.def

FAQ

Consultez la FAQ MongoShake. Si vous rencontrez d'autres problèmes lors de l'utilisation de MongoShake, vous pouvez ouvrir un ticket sur GitHub Issues.