一個從mongodb數據同步到elasticsearch的中間件。支持全量,增量,實時同步。

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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章