mongo端
1.安裝mongodb,如果沒有安裝mongodb遵班,則
sudo apt-get install mongodb
MAC安裝可以 brew install mongodb
2.開啟復制集 https://docs.mongodb.com/manual/tutorial/deploy-replica-set/
先停掉mongodb服務
sudo pkill mongod
MongoDB 必須開啟復制集屠升,通過–replSet設置副本,開啟mongodb
sudo mongod --replSet rsEs --config /etc/mongodb.conf
初始化副本集
kevin@ubuntuNas02:~$ mongo
MongoDB shell version: 2.4.9
connecting to: test
Welcome to the MongoDB shell.
For interactive help, type "help".
> rs.initiate()
{
"info2" : "no configuration specified. Using a default configuration for the set",
"me" : "b48eafd69929:27017",
"ok" : 1
}
初始化副本集的配置
rs0:SECONDARY> rs.conf()
副本集的狀態(tài)
rs0:PRIMARY> rs.status()
安裝mongo-connector
mongo-connector工具是基于python開發(fā)的實時同步服務工具狭郑,該工具在MongoDB與目標系統(tǒng)間同步數據腹暖,并跟蹤MongoDB的oplog,保持操作與MongoDB的實時同步翰萨。 它要求mongo運行在replica-set模式脏答,且需要 elastic2_doc_manager將數據寫入ES。
github地址:https://github.com/mongodb-labs/mongo-connector/wiki/Usage%20with%20ElasticSearch
mongo-connector現在只有2.6.0版本支持python2 https://github.com/yougov/mongo-connector/issues/829
sudo pip install mongo-connector==2.6.0
安裝elastic2-doc-manager
sudo pip install elastic2-doc-manager
啟動mongo-connector
sudo mongo-connector -m localhost:27017 -t localhost:9200 -d elastic2_doc_manager -n zhang_index.col_02,kevin_index.col_022
mongo-connector命令主要參數解析:https://github.com/yougov/mongo-connector/wiki/Configuration-Options
-m mongodb_host:port —— 數據源地址亩鬼,mongodb數據庫地址殖告。
-t target_host:port —— 數據目的地地址,elasticsearch/solr/mongodb集群地址雳锋。建議為集群中的協(xié)調節(jié)點的地址黄绩。
-d xxx_doc_manager —— 數據目的地的document類型。例如:
將mongodb中的數據同步到elasticsearch魄缚,使用elastic_doc_manager或elastic2_doc_manager宝与。
將mongodb中的數據同步到solr焚廊,使用solr_doc_manager冶匹。
將mongodb中數據同步到其他mongodb,使用mongo_doc_manager咆瘟。
-n db.collection ... —— 待同步的數據庫及其collection嚼隘。默認同步所有數據庫。
-i filed_name ... —— 待同步的字段袒餐。默認同步所有字段飞蛹。
-o mongodb_oplog_position.oplog —— mongo-connector的oplog。默認在mongo-connector命令執(zhí)行目錄下創(chuàng)建oplog.timestamp文件灸眼。
建議重新分配存儲位置(也可重新分配存儲文件名)卧檐,例如 /opt/mongo-connector.oplog。
--auto-commit-interval —— 數據同步間隔焰宣。默認在不同系統(tǒng)上有不同的值霉囚。設置為0表示mongodb中的任何操作立即同步到數據目的地。
--continue-on-error —— 一條數據同步失敗匕积,日志記錄該失敗操作盈罐,繼續(xù)后續(xù)同步操作。默認為中止后續(xù)同步操作闪唆。
其他參數包括設置日志輸出行為(時間盅粪、間隔、路徑等)悄蕾、設置mongodb登錄賬戶和密碼票顾、設置(數據目的地)Http連接的證書等、設置mongo-connector的配置文件