github地址:https://github.com/m-wl/mongo-sync-elastic
github地址:https://github.com/m-wl/mongo-sync-elastic
github地址:https://github.com/m-wl/mongo-sync-elastic
mongo-sync-elastic 使用說明
注:bin目錄下的:mongo-sync-elastic是linux的可執行文件, mongo-sync-elastic.exe是windows的可執行文件
1.快速開始
- linux: main -f config.json
- windows:main.exe -f config.json
- 即可
2.配置文件 config.json 內容如下
{
"mongodb": "mydb",
"mongocoll": "mycoll",
"mongodburl": "mongodb://wpsroot:wpspwd@localhost:27017",
"esurl": "http://127.0.0.1:9200",
"tspath": "./"
}
參數說明:
- mongodb: 數據庫名字
- mongocoll: 集合名字
- mongodburl: 連接數據庫的url
- esurl: 連接es的url
- tspath: 非必須參數。用於服務意外停止做數據恢復的,或斷電續傳使用 (默認是程序執行所在的路徑下oplogts文件夾保存同步狀態)
3.tspath參數的作用
- 當已經完成全量同步的時候,程序會在tspath路徑下創建 oplogts/mydb_mycoll_latestoplog.log 文件,紀錄下時間節點,意味着在該時間節點之前的數據都已完成同步,但當全量同步失敗不會創建該文件
- 每隔1個小時就會更新 mydb_mycoll_latestoplog.log 文件裏面的時間節點
- 當服務意外停止時,並且不願意再進行一次全量同步,只需同步服務停止之後還沒同步的數據,則服務再次啓動時tspath不能改變,讓數據從tspath中恢復
- 當服務意外停止時,並希望從0開始重新同步一次,則可以吧tspath下面刪除對應的log文件 或 重新選擇一個tspath即可
備註:
- 1.啓動服務的用戶需要擁有參數tspath路徑下文件的創建查看刪除權限
- 2.參數mongodburl中的mongodb用戶需要擁有admin庫下的oplog.rs查詢權限
- 3.在es中創建的索引名字是 mongodb+'.'+mongocoll,即: mydb.mycoll