elasticsearch和mongodb的数据迁移

elasticsearch的数据迁移需要使用的工具为elasticsearch-dump,我们可以直接使用docker来拉取镜像

docker pull taskrabbit/elasticsearch-dump

假设我们要导出的elasticsearch的ip以及索引的地址为http://192.168.192.197:9200/index_stores,导入的ip以及地址为http://192.168.192.190:9200/index_stores,如果http://192.168.192.190上的elasticsearch并不存在该索引,我们需要先把索引信息引入

docker run --rm -ti taskrabbit/elasticsearch-dump --input=http://192.168.192.197:9200/index_stores --output=http://192.168.192.190:9200/index_stores --type=mapping

引入完成后再引入该索引的数据

docker run --rm -ti taskrabbit/elasticsearch-dump --input=http://192.168.192.197:9200/index_stores --output=http://192.168.192.190:9200/index_stores --type=data

此时在192.168.192.190上就可以搜索到所有的数据

mongodb的迁移需要分导出文件,导入文件来进行

首先当然是登录mongodb,因为我这里是docker安装的,没有设置用户名,密码

安装方式如下(版本3.4)

docker pull mongo:3.4

在你的数据盘中建立一个mongo-data的文件夹,本人放在/home目录下

mkdir /home/mongo-data

启动mongodb实例

docker run --restart="always" -d --name mymo -p 27017:27017 -v /home/mongo-data:/data/db -v /etc/localtime:/etc/localtime mongo:3.4 --storageEngine wiredTiger

docker exec -it mymo mongo

查询库

> show databases;
admin     0.000GB
evaluate  0.000GB
local     0.000GB

我们要使用的是evaluate

> use evaluate;
switched to db evaluate
> show tables;
evaluate

退出

exit

执行

docker exec -it mymo mongoexport -d evaluate -c evaluate -o ./data/db/evaluate.json

此处-d为指定的库,-c 为指定的表(mongodb里也叫集合),-o为输出的文件,此处为容器的内部路径,因为我们在启动的时候指定了外部路径的映射-v /home/mongo-data:/data/db,此时我们可以在/homg/mongo-data中找到evaluate.json文件,将该文件放到要导入的mongodb的服务器的/home/mongo-data文件夹下,执行

docker exec -it evaluate mongoimport -d evaluate -c evaluate --file ./data/db/evaluate.json

数据便可以迁入到我们需要的服务器中了。

转载于:https://my.oschina.net/u/3768341/blog/3084834

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值