我可以使用副本集名称通过 mongo-connector 进行连接吗
Posted
技术标签:
【中文标题】我可以使用副本集名称通过 mongo-connector 进行连接吗【英文标题】:Can i use replica set name to connect via mongo-connector 【发布时间】:2017-01-20 08:34:08 【问题描述】:我想知道,有没有一种方法可以通过 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
]
【问题讨论】:
您好,有人对如何使用配置文件有一些建议吗? 【参考方案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 是你的配置文件。
【讨论】:
感谢您的快速回复。我尝试了以下方式,但失败并出现以下异常。 mongo-connector -m rs1 -t rs2 -d mongo_doc_manager 你能粘贴异常吗?你在 github 上看到了来自 mongo labs github.com/mongodb-labs/mongo-connector/wiki/…的配置选项页面吗? 我正在尝试发布我的异常详细信息,因为我无法发布字符限制。我是这个社区的新手。请稍等。 另一个问题,您的副本设置并运行了吗?您还需要指定端口号 mongo-connector -m我可以通过在我的 Windows 目录路径中输入反斜杠“\”来解决我的问题。这是我更新的配置文件以供参考。感谢 ShaneHarveyNot able to use Configuration file for connecting to 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
]
【讨论】:
以上是关于我可以使用副本集名称通过 mongo-connector 进行连接吗的主要内容,如果未能解决你的问题,请参考以下文章