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開始同步。