当前测试环境下Elasticsearch版本为2.3。不同版本的mongo-connector、elastic-doc-manager/elastic2-doc-manager所支持的Elasticsearch版本不同,安装时注意版本的选择。
测试机上Python的默认版本为2.6,由于我采用anonacoda作为Python开发环境,Python默认版本2.7。故使用pip2.7而不是pip命令。
# 安装mongo-connector(当前版本为2.3) ./CONDA-HOME/bin/pip2.7 install mongo-connector # elastic2-doc-manager (当前版本为0.1.0) ./CONDA-HOME/bin/pip2.7 install elastic2-doc-manager 123456 123456在安装了monog-connector的机子的命令行中执行下面的命令(该命令为测试时的真实命令)。
mongo-connector --auto-commit-interval=0 -m ip_addr1:27018 -t ip_addr2:9200 -d elastic2_doc_manager -n db.collection 1 1mongo-connector命令主要参数解析:
-m mongodb_host:port —— 数据源地址,mongodb数据库地址。 -t target_host:port —— 数据目的地地址,elasticsearch/solr/mongodb集群地址。建议为集群中的协调节点的地址。 -d xxx_doc_manager —— 数据目的地的document类型。例如: 将mongodb中的数据同步到elasticsearch,使用elastic_doc_manager或elastic2_doc_manager。 将mongodb中的数据同步到solr,使用solr_doc_manager。 将mongodb中数据同步到其他mongodb,使用mongo_doc_manager。 -n db.collection ... —— 待同步的数据库及其collection。默认同步所有数据库。 -i filed_name ... —— 待同步的字段。默认同步所有字段。 -o mongodb_oplog_position.oplog —— mongo-connector的oplog。默认在mongo-connector命令执行目录下创建oplog.timestamp文件。 建议重新分配存储位置(也可重新分配存储文件名),例如 /opt/mongo-connector.oplog。 --auto-commit-interval —— 数据同步间隔。默认在不同系统上有不同的值。设置为0表示mongodb中的任何操作立即同步到数据目的地。 --continue-on-error —— 一条数据同步失败,日志记录该失败操作,继续后续同步操作。默认为中止后续同步操作。 其他参数包括设置日志输出行为(时间、间隔、路径等)、设置mongodb登录账户和密码、设置(数据目的地)Http连接的证书等、设置mongo-connector的配置文件。