mongo-connector导入数据到Elasticsearch
来源:互联网 发布:水仙花数java三位数 编辑:程序博客网 时间:2024/05/29 04:37
当前测试环境下Elasticsearch版本为2.3。不同版本的mongo-connector、elastic-doc-manager/elastic2-doc-manager所支持的Elasticsearch版本不同,安装时注意版本的选择。
安装mongo-connector
测试机上Python的默认版本为2.6,由于我采用anonacoda作为Python开发环境,Python默认版本2.7。故使用pip2.7而不是pip命令。
- 1
- 2
- 3
- 4
- 5
- 6
- 1
- 2
- 3
- 4
- 5
- 6
导入mongodb中的数据到Elasticsearch集群
在安装了monog-connector的机子的命令行中执行下面的命令(该命令为测试时的真实命令)。
- 1
- 1
mongo-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的配置文件
。
使用mongo-connector同步数据注意事项
1. mongodb必须开启副本集(Replica Set)。开启副本集才会产生oplog,副本拷贝主分片的oplog并通过oplog与主分片进行同步。 mongo-connector也是通过oplog进行数据同步,故必须开启副本集。2. 使用mongo-connector命令同步数据时,-m参数中的mongodb地址应该是主/从分片的地址, 从该地址登录可以看见并操作local数据库(oplog存储在local.oplog.rs);不能使用mongoos地址。3. 使用mongo-connector命令同步数据时 ,mongo-connector的oplog(参照-o参数)不能随便删除, 否则会引起重新同步所有数据的问题。该问题可以通过--no-dump选项关闭。4. 生产环境下建议将mongo-connector配置为系统服务,运行mongo-connector时采用配置文件的方式。
踩过的坑
1. 数据库A中有多个集合(A1, A2, A3),且已开启了副本集(Replica Set),但是集合A1可以同步,集合A2不能同步. 原因:oplog中有A1的操作记录,没有A2的操作记录。 结论:开启副本集(Replica Set)并不能保证一定能同步,oplog中必须包含待同步集合的操作记录,才能通过mongo-connector同步到Elasticsearch集群。2. mongodb3.x版本加强了安全机制,导致了在只拥有某个库的权限时不能同步数据的问题。 原因:拥有某个库的权限,并不能拥有oplog的读取权限,而mongo-connector需要读取oplog的权限。 结论:同步数据至少需要能够读取oplog的权限,确保当前mongodb用户的权限能够操作oplog,或者直接使用mongodb的管理员权限。
阅读全文
0 0
- mongo-connector导入数据到Elasticsearch
- mongo-connector导入数据到Elasticsearch
- Mongodb数据库导入数据到elasticsearch,mongo-connector实现mongodb与elastic数据同步
- mongo-connector同步mongoDB到ElasticSearch
- Nodejs:mongo-connector同步mongo数据;使用elasticsearch搜索
- 利用mongo-connector将mongodb数据同步到elasticsearch的流程以及会遇到的坑
- MongoDB 数据同步至 ElasticSearch (Mongo-connector)
- 自制搜索(elasticsearch安装,mongo-connector同步数据,python操作)
- mongo-connector实现MongoDB和Elasticsearch数据同步
- Elasticsearch+Mongodb 用mongo-connector 实时更新
- Logstash 导入数据到Elasticsearch
- mongo数据导入到hive里面
- 将Mysql数据导入到ElasticSearch集群
- 将Mysql数据导入到ElasticSearch集群
- 从MySQL导入数据到ElastICsearch
- mongo-connector实现MongoDB与elasticsearch实时同步深入详解
- MongoDB——mongo-connector实例使用(for elasticsearch)
- 使用Mongo Connector和Elasticsearch实现模糊匹配
- 详解MySQL的用户密码过期功能
- bzoj2194 快速傅立叶之二
- LCA 转 RMQ算法 【知识点】
- springboot调用外部接口FeignClient
- Android 组件冲突
- mongo-connector导入数据到Elasticsearch
- Scikit-learn 秘籍 第三章 使用距离向量构建模型
- 2017网易春招 消除重复元素(set)
- A Markdown implement in browser
- JSP学习笔记之二——关于中文乱码
- 数论之路慢慢之GCD性质
- 剑指offer27---将二叉搜索树转换成一个排序的双向链表
- Strategy
- together项目进度报告5