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

 

posted @ 2020-06-04 14:06  小帅Tianjs  阅读(851)  评论(1编辑  收藏  举报