【问题标题】:mongo-connector issue with solrsolr 的 mongo-connector 问题
【发布时间】:2014-09-11 08:50:08
【问题描述】:

我在一台服务器上运行 solr,并将 mongodb 设置为副本集,主服务器在一台服务器上,辅助服务器在另一台服务器上

我已经在搜索服务器上安装了 mongo-connector 来同步到主数据库,如下所示,同步命令它挂起

mongo-connector -m db.test.com:27017 -t http://localhost:8080/solr/test -n test.products --auto-commit-interval=0   -d ./doc_managers/solr_doc_manager.py`

Beginning Mongo Connector
2014-09-11 07:27:41,361 - INFO - Starting new HTTP connection (1): localhost
2014-09-11 07:27:41,366 - INFO - Finished 'http://localhost:8080/solr/test/admin/luke?show=schema&wt=json' (get) with body '' in 0.011 seconds.
2014-09-11 07:27:41,368 - INFO - MongoConnector: Empty oplog progress file.
2014-09-11 07:27:41,371 - INFO - OplogThread: Initializing oplog thread
2014-09-11 07:27:41,372 - INFO - MongoConnector: Starting connection thread MongoClient([u'content.test.com:27017', u'db.test.com:27017'])

【问题讨论】:

  • 这里真的是 Mongo 的副本集吗?您确实意识到 oplog 仅在您拥有副本集时才存在。
  • 是的。Primary 在服务器上,在上面的命令中使用,副本在另一台服务器上
  • 您是否在启动连接器后将任何文档插入到您的 MongoDB 副本集中?是否有超出您提供的日志?连接器似乎已启动,可能只是在等待数据更改。
  • 如果您之前运行过 mongo-connector 并尝试从主节点重新同步,请确保您已删除或重命名 oplog 进度文件(通常称为 config.txt)。然后 mongo-connector 将从头开始,而不是从上次停止的地方开始,如果没有什么可做的,这可能会挂起。

标签: mongodb solr


【解决方案1】:

我有同样的故事:mongo 集合中有一些实体,但 mongo 连接器挂起,甚至不执行转储集合。

  1. 仔细检查 mongo 的命名空间 (-n {dbName}.{collection}) 并仔细查看 solr 服务器日志(当更新出现一些错误时它会帮助我)。

  2. 请记住区分大小写的属性 + 每个实体必须包含唯一键(以防您自己的 id,而不是 mongo 之一),否则更新将失败。

  3. mongo-connector 的编译版本对我来说没有按预期工作,所以我通过 python 调用:

cd C:\Python34

python Lib\mongo-connector\mongo_connector\connector.py -m localhost:27017 -t http://localhost:8983/solr/product -d Lib\mongo-connector\mongo_connector\doc_managers\solr_doc_manager.py -o NewOLog.txt -n solrDb.Product --auto-commit-interval=0

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-10-20
    • 2016-06-10
    • 2014-09-08
    • 2020-12-17
    • 2016-10-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多