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

 

 

 

你可能感兴趣的:(docker,docker,elasticsearch,mongodb,mongo-connector)