Mongo连接器的弹性1.x插件
elastic-doc-manager的Python项目详细描述
注意:这是elasticsearch 1.x的文档管理器。 elasticsearch>;=2.0,请安装elastic2文档管理器。
开始
此包是的文档管理器 mongo-connector那 目标ElasticSearch版本1.x。 有关使用ElasticSearch运行Mongo连接器的信息,请参阅 MongoConnector Usage with Elasticsearch 维基页面。
安装
弹性文档管理器的安装取决于 你的目标是ElasticSearch。
亚马逊ElasticSearch 1.x服务
要与Amazon ElasticSearch服务一起使用,必须安装所需的AWS 依赖项以及ElasticSearch的版本:
pip install 'elastic-doc-manager[aws]'
弹性搜索>;=2.0
这是仅用于ElasticSearch 1.x的文档管理器。如果你 要以2.0或更高版本为目标,请安装 elastic2-doc-manager。
发展
您还可以安装弹性文档管理器的开发版本 手动:
git clone https://github.com/mongodb-labs/elastic-doc-manager.git pip install -e './elastic-doc-manager'
您可能必须使用sudo运行pip,这取决于您在哪里 安装和你有什么特权。
注意:在Mongo连接器版本2.2.2之前,弹性文档管理器与Mongo连接器一起打包 仅支持ElasticSearch 1.x.
运行测试
要求
弹性1.x文档管理器github存储库的副本
测试不包含在来自pypi的包中,只能通过在github上克隆此存储库来获取:
git clone https://github.com/mongodb-labs/elastic-doc-manager
Mongo编排
mongo connector使用另一个名为Mongo Orchestration的工具独自运行mongodb。如果运行python setup.py test,则此包应自动安装,但在运行测试之前,仍需要手动启动Mongo业务流程服务器:
mongo-orchestration --bind 127.0.0.1 --config orchestration.config start
将启动服务器。要阻止它:
mongo-orchestration --bind 127.0.0.1 --config orchestration.config stop
MongoDB服务器的位置应在orchestration.config中设置。有关如何使用Mongo Orchestration或如何将其与不同参数一起使用的详细信息,请参阅Mongo Orchestration自述文件。
环境变量
有几个影响测试的环境变量。这些是:
- DB_USER是在启用身份验证的情况下运行测试时要使用的用户名。
- DB_PASSWORD是上面的密码。
- MONGO_PORT是运行MongoDB的起始端口。未来的节点将在依次增加的端口上启动。
- ES_HOST是运行elasticsearch的主机名。
- ES_PORT是运行ElasticSearch的端口。
- MO_ADDRESS是用于Mongo业务流程的地址(即主机名:端口)
弹性1.x文档管理器github存储库的副本
测试不包含在来自pypi的包中,只能通过在github上克隆此存储库来获取:
git clone https://github.com/mongodb-labs/elastic-doc-manager
Mongo编排
mongo connector使用另一个名为Mongo Orchestration的工具独自运行mongodb。如果运行python setup.py test,则此包应自动安装,但在运行测试之前,仍需要手动启动Mongo业务流程服务器:
mongo-orchestration --bind 127.0.0.1 --config orchestration.config start
将启动服务器。要阻止它:
mongo-orchestration --bind 127.0.0.1 --config orchestration.config stop
MongoDB服务器的位置应在orchestration.config中设置。有关如何使用Mongo Orchestration或如何将其与不同参数一起使用的详细信息,请参阅Mongo Orchestration自述文件。
环境变量
有几个影响测试的环境变量。这些是:
- DB_USER是在启用身份验证的情况下运行测试时要使用的用户名。
- DB_PASSWORD是上面的密码。
- MONGO_PORT是运行MongoDB的起始端口。未来的节点将在依次增加的端口上启动。
- ES_HOST是运行elasticsearch的主机名。
- ES_PORT是运行ElasticSearch的端口。
- MO_ADDRESS是用于Mongo业务流程的地址(即主机名:端口)
所有测试都位于tests目录中。
在命令行上运行测试
虽然测试会自行设置和拆除MongoDB集群,但在进行完整的测试运行之前,请确保启动Elastic!
您可以使用一个命令运行所有测试(这在所有受支持的python版本中都有效):
python setup.py test
此外,您还可以选择运行哪些测试(仅限python>;2.6)!例如,如果您只想运行弹性文档管理器测试:
python -m unittest tests.test_elastic_doc_manager
错误消息
有些测试旨在生成大量ERROR级别的日志消息,特别是回滚测试。mongo connector记录在oplog中迭代光标时遇到的异常,因此我们在mongodb集群在测试中被分离时在控制台输出中看到这些异常。只要所有的测试都通过,并且有一条消息,一切都很好。