Docker配置文件啟動 MongoDB單點集群 MongoShake增量同步


1.https://blog.csdn.net/qq_25268789/article/details/103429096

一、想辦法讓MongoDB運行起來,使用共享文件等方式

在喜歡的目錄下:mkdir mongo 

cd mongo
mkdir data conf logs
cd logs
touch mongodb.log
chmod  777 mongodb.log
touch /你的目錄/mongo/conf/mongod.conf
vim /你的目錄/mongo/conf/mongod.conf
加入以下配置:

# 數據庫文件存儲位置
dbpath = /data/db/
# log文件存儲位置
logpath = /data/log/mongodb.log
# 使用追加的方式寫日志
logappend = true
# 是否以守護進程方式運行
# fork = true
# 端口號
port = 27017
# 是否啟用認證
auth = true
# Replication Options 復制選項
# in replicated mongo databases, specify the replica set name here
replSet=rs  #設置副本集名
# 設置oplog的大小(MB)
oplogSize=2048

 

啟動命令:

docker run -itd --name mongodbtest  --restart=always 
--privileged -p 27017:27017
-v /home/tianjs/mongodb/data/mongo/data:/data/db
-v /home/tianjs/mongodb/data/mongo/conf:/data/configdb
-v /home/tianjs/mongodb/data/mongo/logs:/data/log/ mongo -config /data/configdb/mongod1.conf --bind_ip_all

二、初始化副本集:https://blog.csdn.net/Micholas_Net/article/details/88941726

1 登陸

2 服務初始化

> show dbs
1
服務重啟后,第一次登入,執行其他命令時(例如:show dbs),會提示錯誤,錯誤信息如下:

E QUERY [thread1] Error: listDatabases failed:{
“ok” : 0,
“errmsg” : “not master and slaveOk=false”,
“code” : 13435,
“codeName” : “NotMasterNoSlaveOk”
}

此時需要執行初始化命令

rs.initiate({ _id: "rs", members: [{_id:0,host:"192.168.64.129:27017"}]})
未進行此步驟之前插入的數據不會同步。
host:你的ip :你的port

 

執行完成后提示,代表執行成功:

{ “ok” : 1 }
4-3 初始完后

初始完,副本集中唯一的節點,可能短時間顯示為SECONDARY或OTHER。一般而言,稍等一會,就會自然恢復為primary,無需人工干預。

rs:OTHER>
rs:PRIMARY>
rs:PRIMARY>

三配置MongoShake的源地址和目標地址以及同步方式

vim collector.conf


在bin目錄下執行:./collector -conf=collector.conf開始同步。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM