0

我想知道,有没有一种方法可以通过 mongo-connector 从一个 mongo 副本集复制到另一个?根据 mongo 文档,我们可以使用下面示例中的命令通过 mongo-connector 连接两个 mongo 实例,但我想传递副本集名称或使用配置文件,而不是在命令行中传递server:port名称。

Mongo 连接器可以使用 Mongo DocManager 从一个 MongoDB 副本集或分片集群复制到另一个。最基本的用法如下:

mongo-connector -m localhost:27017 -t localhost:37017 -d mongo_doc_manager

我还通过创建下面的 config.json 文件尝试了 config.json 选项,但它失败了。

{
    "__comment__": "Configuration options starting with '__' are disabled",
    "__comment__": "To enable them, remove the preceding '__'",

    "mainAddress": "localhost:27017",
    "oplogFile": "C:\Dev\mongodb\mongo-connector\oplog.timestamp",
    "verbosity": 2,
    "continueOnError": false,

    "logging": {
        "type": "file",
        "filename": "C:\Dev\mongodb\mongo-connector\mongo-connector.log",
        "__rotationWhen": "D",
        "__rotationInterval": 1,
        "__rotationBackups": 10,
        "__type": "syslog"        
    },

    "docManagers": [
        {
            "docManager": "mongo_doc_manager",
            "targetURL": "localhost:37010",
            "__autoCommitInterval": null
        }
    ]
}
4

2 回答 2

1

是的,它可以使用 mongo 连接器连接到副本集或分片服务器。

 {
mongo-connector -m <mongodb server hostname>:<replica set port> \
            -t <replication endpoint URL, e.g. http://localhost:8983/solr> \
            -d <name of doc manager, e.g., solr_doc_manager>
}

您还可以将连接字符串传递给 mongo-connector,例如

{
mongo connector -m mongodb://db1.example.net,db2.example.net:2500/?replicaSet=test&connectTimeoutMS=300000

}

指定您可以使用的特定配置文件

{ mongo-connector -c config.json } 

其中 config.json 是您的配置文件。

于 2016-09-12T20:29:58.500 回答
0

我可以通过为我的 Windows 目录路径输入反斜杠“\”来解决我的问题。这是我更新的配置文件以供参考。感谢 ShaneHarvey无法使用配置文件连接到 mongo-connector

{
    "__comment__": "Configuration options starting with '__' are disabled",
    "__comment__": "To enable them, remove the preceding '__'",

    "mainAddress": "localhost:27017",
    "oplogFile": "C:\\Dev\\mongodb\\mongo-connector\\oplog.timestamp",
    "noDump": false,
    "batchSize": -1,
    "verbosity": 2,
    "continueOnError": false,

    "logging": {
        "type": "file",
        "filename": "C:\\Dev\\mongodb\\mongo-connector\\mongo-connector.log",
        "__format": "%(asctime)s [%(levelname)s] %(name)s:%(lineno)d - %(message)s",
        "__rotationWhen": "D",
        "__rotationInterval": 1,
        "__rotationBackups": 10,
        "__type": "syslog",
        "__host": "localhost:27017"        
    },  


    "docManagers": [
        {
            "docManager": "mongo_doc_manager",
            "targetURL": "localhost:37017",
            "__autoCommitInterval": null
        }
    ]
}
于 2016-09-13T19:46:59.593 回答