Elasticsearch与MongoDB 数据同步及分布式集群搭建 (一)
来源:互联网 发布:linux下扫描工具 编辑:程序博客网 时间:2024/06/14 04:06
Elasticsearch通过River可以与多种数据源Wikipedia, MongoDB, CouchDB, RabbitMQ, RSS, Sofa, JDBC, FileSystem,Dropbox等同步,公司的业务是用 MongoDB,今天测试环境虚拟机上配置了一下Elasticsearch 与 MongoDB的同步,作个大概的过程记录,主要利用richardwilly98 / elasticsearch-river-mongodb。
River通过读取mongodb的oplog来同步数据,oplog这个表来使集群中的不同机器数据同步的,可以保证es里面的数据和mongodb里面的是一样的,所以Mongdb必须是个集群才能拥有oplog.注意:该插件只支持集群环境下的mongodb,因为集群环境下的mongodb才有oplog这个
Elasticsearch 和 MongoDB需要安装对应的版本才能实现同步,我这里用了最新的Elasticsearch 1.4.2 和 MongoDB 3.0.0,相应的版本要求参考下表
![elasticsearch-mongodb](http://website-static.qiniudn.com//wp-content/uploads/2015/03/146240D2-6CF8-4463-AD47-743197C6D2C5-271x300.png)
elasticsearch-mongodb
MongDB是一个副本集的集群,具体副本集集群的搭建不详细写了,Elasticsearch的安装配置也省略。
1.安装elasticsearch-river-mongodb
2.建立river
这里只是简单的配置了建立连接的MongoDB以及相应的db,collection对于的elasticsearch index和type,还有详细的配置没有使用到,比如options等,具体根据业务可以配置,下面是一份详细的配置样例:
一些配置项的解释如下,具体可以查看github的wiki:
- db为同步的数据库名,
- host mongodb的ip地址(默认为localhost)
- port mongodb的端口
- collection 要同步的表名
- fields 要同步的字段名(用逗号隔开,默认全部)
- gridfs 是否是gridfs文件(如果collection是gridfs的话就设置成true)
- local_db_user local数据库的用户名(没有的话不用写)
- local_db_password local数据库的密码(没有的话不用写)
- db_user 要同步的数据库的密码(没有的话不用写)
- db_password 要同步的数据库的密码(没有的话不用写)
- name 索引名(不能之前存在)
- type 类型
- bulk_size 批量添加的最大数
- bulk_timeout 批量添加的超时时间
3.测试是否成功
我测试的库中数据较少,所以就直接都查出来看看是否能查出来吧
看来数据已经同步过来了,然后在MongoDB 添加一条记录,执行同样的操作查找对于的记录或者 total已经+1那么同步完成了。
- Elasticsearch与MongoDB 数据同步及分布式集群搭建(一)
- Elasticsearch与MongoDB 数据同步及分布式集群搭建 (一)
- Elasticsearch与MongoDB 数据同步及分布式集群搭建 (一)
- Elasticsearch与MongoDB 数据同步及分布式集群搭建 (二)
- elasticsearch与mongodb分布式集群环境下数据同步
- 10008---Elasticsearch与mongodb分布式集群环境下数据同步
- elasticsearch与mongodb分布式集群环境下数据同步以及遇到的相应问题解答
- 分布式搜索elasticsearch java API 之(七)------与MongoDB同步数据
- 分布式搜索elasticsearch java API 之(七)------与MongoDB同步数据
- 分布式搜索elasticsearch java API 之(七)------与MongoDB同步数据
- 搭建Elasticsearch分布式集群
- elasticsearch分布式集群搭建
- MongoDB分布式集群搭建
- 搭建Elasticsearch 5.4分布式集群
- 单机搭建elasticsearch和mongodb river的数据同步
- ES-MongoDB学习1_elasticsearch与mongodb分布式集群环境下数据同步以及遇到的相应问题解答
- MongoDB与Elasticsearch达到数据同步的一点尝试
- Elasticsearch实践(一)用Docker搭建Elasticsearch集群
- SylixOS的BSP开发实例之S3C2416 【第六篇】S3C2416 驱动之定时器
- asp.net 输出单引号 双引号
- Octopress切换不同电脑写文章
- 产生冠军 HDU杭电 2094【字符串处理】
- (4.1.33)PendingIntent和Intent
- Elasticsearch与MongoDB 数据同步及分布式集群搭建 (一)
- yii进度
- mysql中key 、primary key 、unique key 与index区别
- 【xml】xml初步总结
- php学习-08if条件语句
- Xcode launchImage和Icon 的尺寸
- php学习-09switch语句
- 对线程同步的理解
- apache .htaccess 实现在URL后面自动加 / 利SEO操作