elasticsearch和mongodb的數據遷移

elasticsearch的數據遷移須要使用的工具爲elasticsearch-dump,咱們能夠直接使用docker來拉取鏡像mongodb

docker pull taskrabbit/elasticsearch-dumpdocker

假設咱們要導出的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並不存在該索引,咱們須要先把索引信息引入json

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服務器

引入完成後再引入該索引的數據app

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=dataelasticsearch

此時在192.168.192.190上就能夠搜索到全部的數據工具

mongodb的遷移須要分導出文件,導入文件來進行lua

首先固然是登陸mongodb,由於我這裏是docker安裝的,沒有設置用戶名,密碼spa

安裝方式以下(版本3.4)rest

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

數據即可以遷入到咱們須要的服務器中了。

相關文章
相關標籤/搜索