Mongodb mongo Conctor未与solr连接-收集转储期间异常

Mongodb mongo Conctor未与solr连接-收集转储期间异常,mongodb,solr,connector,Mongodb,Solr,Connector,我正在连接MongoDB和solr 遵循本文档进行集成: DB.Collection:solr.wlslog D:\solr\bin>的路径 mongo-connector --unique-key=id -n solr.wlslog -m localhost:27017 -t http://localhost:8983/solr/wlslog -d solr_doc_manager 我得到以下响应和错误: 2020-06-15 12:15:45,744 [ALWAYS] mongo_con

我正在连接MongoDB和solr

遵循本文档进行集成:

DB.Collection:solr.wlslog

D:\solr\bin>的路径

mongo-connector --unique-key=id -n solr.wlslog -m localhost:27017 -t http://localhost:8983/solr/wlslog -d solr_doc_manager
我得到以下响应和错误:

2020-06-15 12:15:45,744 [ALWAYS] mongo_connector.connector:50 - Starting mongo-connector version: 3.1.1
2020-06-15 12:15:45,744 [ALWAYS] mongo_connector.connector:50 - Python version: 3.8.3 (tags/v3.8.3:6f8c832, May 13 2020, 22:37:02) [MSC v.1924 64 bit (AMD64)]
2020-06-15 12:15:45,745 [ALWAYS] mongo_connector.connector:50 - Platform: Windows-10-10.0.18362-SP0
2020-06-15 12:15:45,745 [ALWAYS] mongo_connector.connector:50 - pymongo version: 3.10.1
2020-06-15 12:15:45,755 [ALWAYS] mongo_connector.connector:50 - Source MongoDB version: 4.2.2
2020-06-15 12:15:45,755 [ALWAYS] mongo_connector.connector:50 - Target DocManager: mongo_connector.doc_managers.solr_doc_manager version: 0.1.0
2020-06-15 12:15:45,787 [CRITICAL] mongo_connector.oplog_manager:713 - Exception during collection dump
Traceback (most recent call last):
File "C:\Users\ancubate\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\LocalCache\local-packages\Python38\site-packages\mongo_connector\doc_managers\solr_doc_manager.py", line 292, in
batch = list(next(cleaned) for i in range(self.chunk_size))
StopIteration

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "C:\Users\ancubate\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\LocalCache\local-packages\Python38\site-packages\mongo_connector\oplog_manager.py", line 668, in do_dump
upsert_all(dm)
File "C:\Users\ancubate\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\LocalCache\local-packages\Python38\site-packages\mongo_connector\oplog_manager.py", line 651, in upsert_all
dm.bulk_upsert(docs_to_dump(from_coll), mapped_ns, long_ts)
File "C:\Users\ancubate\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\LocalCache\local-packages\Python38\site-packages\mongo_connector\util.py", line 33, in wrapped
return f(*args, **kwargs)
File "C:\Users\ancubate\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\LocalCache\local-packages\Python38\site-packages\mongo_connector\doc_managers\solr_doc_manager.py", line 292, in bulk_upsert
batch = list(next(cleaned) for i in range(self.chunk_size))
RuntimeError: generator raised StopIteration
2020-06-15 12:15:45,801 [ERROR] mongo_connector.oplog_manager:723 - OplogThread: Failed during dump collection cannot recover! Collection(Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True, replicaset='rs0'), 'local'), 'oplog.rs')
2020-06-15 12:15:46,782 [ERROR] mongo_connector.connector:408 - MongoConnector: OplogThread <OplogThread(Thread-2, started 4936)> unexpectedly stopped! Shutting down
2020-06-15 12:15:45744[始终]mongo_连接器。连接器:50-启动mongo连接器版本:3.1.1
2020-06-15 12:15:45744[始终]mongo_连接器。连接器:50-Python版本:3.8.3(tags/v3.8.3:6f8c8322002年5月13日22:37:02)[MSC v.1924 64位(AMD64)]
2020-06-15 12:15:45745[始终]mongo_连接器。连接器:50-平台:Windows-10-10.0.18362-SP0
2020-06-15 12:15:45745[始终]mongo_连接器。连接器:50-pymongo版本:3.10.1
2020-06-15 12:15:45755[始终]mongo_连接器。连接器:50-源MongoDB版本:4.2.2
2020-06-15 12:15:45755[始终]mongo_连接器。连接器:50-目标文档管理器:mongo_连接器。文档管理器。solr_文档管理器版本:0.1.0
2020-06-15 12:15:45787[关键]mongo_连接器.oplog_管理器:713-收集转储期间异常
回溯(最近一次呼叫最后一次):
文件“C:\Users\ancubate\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\LocalCache\Local Packages\Python38\site Packages\mongo_connector\doc_managers\solr_doc_manager.py”,第292行
批次=列表(范围(self.chunk\u size)中i的下一个(已清理)
停止迭代
上述异常是以下异常的直接原因:
回溯(最近一次呼叫最后一次):
文件“C:\Users\ancubate\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\LocalCache\Local Packages\Python38\site Packages\mongo_connector\oplog_manager.py”,第668行,在do_dump中
全部插入(dm)
upsert\U all中第651行的文件“C:\Users\ancubate\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\LocalCache\Local Packages\Python38\site Packages\mongo\u connector\oplog\u manager.py”
dm.bulk\u upsert(从文档到转储、映射、长文档)
文件“C:\Users\ancubate\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\LocalCache\localpackages\Python38\site Packages\mongo\u connector\util.py”,第33行
返回f(*args,**kwargs)
文件“C:\Users\ancubate\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\LocalCache\Local Packages\Python38\site Packages\mongo_connector\doc_managers\solr_doc_manager.py”,第292行,批量插入
批次=列表(范围(self.chunk\u size)中i的下一个(已清理)
运行时错误:生成器引发了StopIteration
2020-06-15 12:15:45801[错误]mongo_连接器。oplog_管理器:723-oplog线程:转储收集期间失败无法恢复!集合(数据库(MongoClient(主机=['localhost:27017'],文档类=dict,tz_-aware=False,连接=True,复制集='rs0'),'local'),'oplog.rs')
2020-06-15 12:15:46782[错误]mongo_连接器。连接器:408-MongoConnector:OplogThread意外停止!关闭
我在GitHub中搜索了以下问题,但没有找到任何解决方案:


问题终于解决了:)

我的系统操作系统是windows,我已经在
C:\Program Files\mongodb\
(系统驱动器)中安装了mongodb

在此mongo连接器连接之前,我已经按照以下命令启动了mongodb的副本集:

问题:
--dbpath../data/db
目录中的问题,此目录位于
C:\Program Files\MongoDB\Server\4.2\data\db
此目录具有所有权限,但父目录
C:\Program Files
没有所有权限,因为其系统目录和受保护目录

实际问题是:(收集转储期间异常)

解决方案: 我刚刚将我的
--dbpath
更改为另一个目录位于系统受保护目录之外的路径,如下所示:

mongod --port 27017 --dbpath C:/data/db --replSet rs0
之后,我执行了下面的连接命令,正如我在问题中所发布的:

mongo-connector --unique-key=id -n solr.wlslog -m localhost:27017 -t http://localhost:8983/solr/wlslog -d solr_doc_manager
mongo连接器日志结果成功:
希望这个答案对大家都有帮助:)

就我而言,这并没有解决问题。 我使用的是Python3.8,所以对我来说这实际上是由于

Python3.7中的所有代码都启用了PEP 479,这意味着 在协同程序中直接或间接引发的StopIteration异常 生成器被转换为运行时错误异常。 (由Yury Selivanov在bpo-32670中提供。)

阅读让我开始认为它与yield doc语句有关,但实际上问题是在第292行中有两行调用next(),随后在solr_doc_manager.py中有几行调用next():

batch = list(next(cleaned) for i in range(self.chunk_size))
改为:

        batch = []
        for i in range(self.chunk_size):
            for x in cleaned:
                batch.append(x)
2020-06-17 12:08:52,292 [ALWAYS] mongo_connector.connector:50 - Starting mongo-connector version: 3.1.1
2020-06-17 12:08:52,292 [ALWAYS] mongo_connector.connector:50 - Python version: 3.8.3 (tags/v3.8.3:6f8c832, May 13 2020, 22:37:02) [MSC v.1924 64 bit (AMD64)]
2020-06-17 12:08:52,293 [ALWAYS] mongo_connector.connector:50 - Platform: Windows-10-10.0.18362-SP0
2020-06-17 12:08:52,293 [ALWAYS] mongo_connector.connector:50 - pymongo version: 3.10.1
2020-06-17 12:08:52,310 [ALWAYS] mongo_connector.connector:50 - Source MongoDB version: 4.2.2
2020-06-17 12:08:52,311 [ALWAYS] mongo_connector.connector:50 - Target DocManager: mongo_connector.doc_managers.solr_doc_manager version: 0.1.0
batch = list(next(cleaned) for i in range(self.chunk_size))
        batch = []
        for i in range(self.chunk_size):
            for x in cleaned:
                batch.append(x)