Skip to main content

用于 mongo-connector 的 Elastic2 插件

项目描述

====================
elastic2-doc-manager
====================

..图片:: https://travis-ci.org/mongodb-labs/elastic2-doc-manager.svg?branch=master
:alt: 查看构建状态
:target: https://travis-ci.org/mongodb-labs/elastic2- doc-manager

入门
===============

这个包是
`mongo-connector <https://github.com/mongodb-labs/mongo-connector>`的文档管理器它
以 Elasticsearch 版本 2.x 和 5.x 为目标——不要让这个名字欺骗了你!
有关使用 Elasticsearch 运行 mongo-connector 的信息,请参阅
`MongoConnector Usage with Elasticsearch
<https://github.com/mongodb-labs/mongo-connector/wiki/Usage%20with%20ElasticSearch>`_
维基页面。

安装
============

elastic2-doc-manager 的安装取决于
您所针对的 Elasticsearch 版本。

Elasticsearch 1.x
-----------------

这是 Elasticsearch 2.x 和 5.x 的文档管理器。如果您
想以 Elasticsearch 1.x 为目标,请安装
`elastic-doc-manager <https://github.com/mongodb-labs/elastic-doc-manager>`_。

Elasticsearch 2.x
-----------------

要与 Elasticsearch 2.x 服务器一起使用,请使用
`pip <https://pypi.python.org/pypi/pip>安装`__::

pip install 'elastic2-doc-manager[elastic2]'

Elasticsearch 5.x
-----------------

要与 Elasticsearch 5.x 服务器一起使用,请使用以下命令安装:

pip install 'elastic2-doc-manager[elastic5]'

.. 注意::版本 0.3.0 添加了对 Elasticsearch 5.x 的支持。


Amazon Elasticsearch Service
----------------------------

要与 Amazon Elasticsearch Service 一起使用,您必须安装所需的 AWS
依赖项以及Elasticsearch::

pip install 'elastic2-doc-manager[elastic2,aws]'


Development
-----------

也可以手动安装elastic2-doc-manager的开发版
::

git clone https:/ /github.com/mongodb-labs/elastic2-doc-manager.git
pip install -e './elastic2-doc-manager[elastic2]'

您可能必须使用 sudo 运行 pip,具体取决于您的
安装位置和您拥有的权限。

.. note:: 请注意,在 mongo-connector 版本 2.2.2 之前,elastic
doc manager 与 mongo-connector 一起打包,仅支持
Elasticsearch 1.x。

运行测试
-----------------
要求
~~~~~~~~~~~~

1. Elastic 2.x Document Manager Github 存储库的副本

测试不是包含在 PyPI 的包中,只能
通过在 Github 上克隆此存储库来获取::

git clone https://github.com/mongodb-labs/elastic2-doc-manager

2. Mongo Orchestration

Mongo 连接器使用它自己运行 MongoDB另一个工具叫做
`Mongo 编排<https://github.com/mongodb/mongo-orchestration>`__。
如果你运行 python setup.py test 这个包应该会自动安装,
但是在运行测试之前仍然需要手动启动 Mongo Orchestration 服务器
::

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 README。

3.环境变量

有一些有影响力的环境变量会影响测试。它们是:

- ``DB_USER`` 是在启用身份验证的情况下运行测试时使用的用户名。
- ``DB_PASSWORD`` 是上面的密码。
- ``MONGO_PORT`` 是运行 MongoDB 的起始端口。未来的节点将在顺序增加的端口上启动。
- ``ES_HOST`` 是运行 Elasticsearch 的主机名。
- ``ES_PORT`` 是 Elasticsearch 运行的端口。
- ``MO_ADDRESS`` 是用于 Mongo 编排的地址(即主机名:端口)
- ``PYTHON_ELASTIC_VERSION`` 是要测试的 Elasticsearch 的 pip 样式版本(例如 >=5.0.0,<6.0.0)

所有测试位于“测试”目录中。

在命令行上运行测试
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

而测试负责设置和撕裂自行关闭 MongoDB 集群
,确保在进行完整测试之前启动 Elasticsearch!

您可以使用一个命令运行所有测试(这适用于所有受支持的 Python 版本)::

python setup.py test

此外,您可以更有选择性地选择
仅在 Python > 2.6 中运行的测试)!例如,如果你只想运行 elastic2
doc manager tests::

python -m unittest tests.test_elastic2_doc_manager

错误消息
~~~~~~~~~~~~~~~

有些测试是为了生成大量的` `ERROR` 级别的日志消息,
尤其是回滚测试。mongo-connector 记录在 oplog 中迭代游标时遇到
的异常,因此我们在控制台输出中看到这些异常,
而 MongoDB 集群在测试中被撕裂。只要所有
测试都通过“OK”消息,一切都很好。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

hh-elastic2-doc-manager-0.1.0.tar.gz (21.1 kB 查看哈希

已上传 source