elasticsearch+mongodb+mongo-connector 数据同步工具docker打包部署

大家好 我是大锤   我在公司中遇到的问题是,数据库用mongodb,搜索用es,两边儿的数据需要实时同步,要做实时搜索功能,网上找了一圈,什么五个这个工具那个的,感觉都不太符合我的心里预期,也有很多人用其他工具实现出来这个功能了,我在这里也简单的啰嗦一下,

我这个内容只阐述这几个工具和docker之间的部署本地测试版的,安装了docker的直接可以用,部署到云和其他的我在下个博客里面描述。

一、docker安装es

#开发环境
docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:6.3.0
#初始账号密码
elastic
changeme
#分词插件安装
./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.3.0/elasticsearch-analysis-ik-6.3.0.zip
#权限控制关闭
xpack.security.enabled: false
#ik插件安装
elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.3.0/elasticsearch-analysis-ik-6.3.0.zip

二、安装mongodb

#创建两个mongodb镜像
docker run -d -p 27017:27017 --name mongodb mongo:3.4 --replSet repset
docker run -d -p 27018:27017 --name mongo1 mongo:3.4 --replSet repset
#初始化副本集
rs.initiate({ _id:"repset", members:[
{_id:0,host:"192.168.1.11:27017"}, {_id:1,host:"192.168.1.11:27018"}
]})
#切换主从节点
rs.stepDown()
#查看节点状态
rs.status()

三、安装mongo-connector

#构建自定义镜像
docker run -it --name mongo-connector python:3.6 bash
#安装mongo-connector
pip install 'mongo-connector[elastic5]'
#安装pymongo
pip install pymongo
#安装docmanager
pip install 'elastic2-doc-manager[elastic5]'
#执行数据同步
mongo-connector -m 192.168.1.11:27017 -t 192.168.1.11:9200 -d elastic2_doc_manager
#导出镜像设置
docker commit mongo-connector registry.cn-hangzhou.aliyuncs.com/test/mongo-connector:1.0.0

四、测试

mongo-connector -m 192.168.1.11:27017 -t 192.168.1.11:9200 -d elastic2_doc_manager -n test_database.article
mongo-connector -m 192.168.1.11:27017 -t 192.168.1.11:9200 -d elastic2_doc_manager -n test_database.user

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值