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的配置文件
网友评论