mongo同步数据到elastic

mongo端

1.安装mongodb,如果没有安装mongodb,则

sudo apt-get install mongodb

MAC安装可以 brew install mongodb

2.开启复制集 https://docs.mongodb.com/manual/tutorial/deploy-replica-set/

先停掉mongodb服务

sudo pkill mongod

MongoDB 必须开启复制集,通过–replSet设置副本,开启mongodb

sudo mongod --replSet rsEs --config /etc/mongodb.conf

初始化副本集

kevin@ubuntuNas02:~$ mongo

MongoDB shell version: 2.4.9

connecting to: test

Welcome to the MongoDB shell.

For interactive help, type "help".

> rs.initiate()

{

"info2" : "no configuration specified. Using a default configuration for the set",

"me" : "b48eafd69929:27017",

"ok" : 1

}

初始化副本集的配置

rs0:SECONDARY> rs.conf()

副本集的状态

rs0:PRIMARY> rs.status()

安装mongo-connector

mongo-connector工具是基于python开发的实时同步服务工具,该工具在MongoDB与目标系统间同步数据,并跟踪MongoDB的oplog,保持操作与MongoDB的实时同步。 它要求mongo运行在replica-set模式,且需要 elastic2_doc_manager将数据写入ES。

github地址:https://github.com/mongodb-labs/mongo-connector/wiki/Usage%20with%20ElasticSearch

mongo-connector现在只有2.6.0版本支持python2 https://github.com/yougov/mongo-connector/issues/829

sudo pip install mongo-connector==2.6.0

安装elastic2-doc-manager

sudo pip install elastic2-doc-manager

启动mongo-connector

sudo mongo-connector -m localhost:27017 -t localhost:9200 -d elastic2_doc_manager -n zhang_index.col_02,kevin_index.col_022

mongo-connector命令主要参数解析:https://github.com/yougov/mongo-connector/wiki/Configuration-Options

-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的配置文件

你可能感兴趣的:(mongo同步数据到elastic)