-
Notifications
You must be signed in to change notification settings - Fork 0
MongDB副本集环境搭建
茶凡_Matrix edited this page Nov 1, 2023
·
2 revisions
准备一台linux 服务器(改文档用的是 ubantu20),如图是副本集结构:
tar -zxvf mongodb-linux-x86_64-ubuntu2004-5.0.21.tgz
# 将解压的文件移动到 mongodb 下
mv mongodb-linux-x86_64-ubuntu2004-5.0.21 mongodb
创建主节点、从节点、选举节点文件夹和每个节点的数据存储、日志、配置文件夹
mkdir -pv /mongo_replica_set/mongod/{master,slave,arbiter}
mkdir -pv /mongo_replica_set/mongod/master/{data,log,conf}
mkdir -pv /mongo_replica_set/mongod/slave/{data,log,conf}
mkdir -pv /mongo_replica_set/mongod/arbiter/{data,log,conf}
将软件复制到每个节点对应的文件夹下面
cp -ra /mongo_replica_set/mongodb /mongo_replica_set/mongod/master/
cp -ra /mongo_replica_set/mongodb /mongo_replica_set/mongod/slave/
cp -ra /mongo_replica_set/mongodb /mongo_replica_set/mongod/slave2/
cp -ra /mongo_replica_set/mongodb /mongo_replica_set/mongod/arbiter/
vim master/conf/mongodb.conf
dbpath=/mongo_replica_set/mongod/master/data
logpath=/mongo_replica_set/mongod/master/log/mongodb.log
pidfilepath=/mongo_replica_set/mongod/master/master.pid
directoryperdb=true
logappend=true
replSet=RPS_TEST1
bind_ip=0.0.0.0
port=28011
oplogSize=10000
fork=true
创建slave配置文件 vim slave/conf/mongodb.conf
dbpath=/mongo_replica_set/mongod/slave/data
logpath=/mongo_replica_set/mongod/slave/log/mongodb.log
pidfilepath=/mongo_replica_set/mongod/slave/slave.pid
directoryperdb=true
logappend=true
replSet=RPS_TEST1
bind_ip=0.0.0.0
port=28012
oplogSize=10000
fork=true
创建arbiter配置文件 vim arbiter/conf/mongodb.conf
dbpath=/mongo_replica_set/mongod/arbiter/data
logpath=/mongo_replica_set/mongod/arbiter/log/mongodb.log
pidfilepath=/mongo_replica_set/mongod/arbiter/arbiter.pid
directoryperdb=true
logappend=true
replSet=RPS_TEST1
bind_ip=0.0.0.0
port=28013
oplogSize=10000
fork=true
创建slave2配置文件 vim slave2/conf/mongodb.conf
dbpath=/mongo_replica_set/mongod/slave2/data
logpath=/mongo_replica_set/mongod/slave2/log/mongodb.log
pidfilepath=/mongo_replica_set/mongod/slave2/slave2.pid
directoryperdb=true
logappend=true
replSet=RPS_TEST1
bind_ip=0.0.0.0
port=28012
oplogSize=10000
fork=true
配置文件参数解释
dbpath:数据存放目录
logpath:日志存放路径
pidfilepath:进程文件,方便停止mongodb
directoryperdb:为每一个数据库按照数据库名建立文件夹存放
logappend:以追加的方式记录日志
replSet:replica set的名字
bind_ip:mongodb所绑定的ip地址
port:mongodb进程所使用的端口号,默认为27017
oplogSize:mongodb操作日志文件的最大大小。单位为Mb,默认为硬盘剩余空间的5%
fork:以后台方式运行进程
上面的配置文件配置好保存后就可以启动每个节点了
启动主节点
./master/mongodb/bin/mongod -f master/conf/mongodb.conf
启动从节点
./slave/mongodb/bin/mongod -f slave/conf/mongodb.conf
./slave2/mongodb/bin/mongod -f slave2/conf/mongodb.conf
启动仲裁节点
./arbiter/mongodb/bin/mongod -f arbiter/conf/mongodb.conf
查看进程
ps -ef | grep mongodb
配置副本集一定要在主节点的操作并且是在 admin数据库下操作,可以进入主节点的客户端
1、进入主节点
./master/mongodb/bin/mongo --port=28011
2、切换到 admin 数据库
use admin
3、定义初始化脚本(类似于js 的 var a = {})
fbj={_id:"RPS_TEST1",
members:[{_id:0,host:'203.33.207.171:28011',priority:2},
{_id:1,host:'203.33.207.171:28012',priority:1},
{_id:2,host:'203.33.207.171:28013',arbiterOnly:true},
{_id:3,host:'203.33.207.171:28014',priority:1},
]};
4、使配置生效
rs.initiate(fbj)
5、检查是否生效
rs.status()
以上是关于MongoDB副本集搭建的基本流程,在一台Linux下启动了四个MongoDB服务来搭建副本集。上面总结中缺少一些操作成功后的内容没有截图,这里就不多说了,只需要对单个 MongoDB服务搭建流程熟悉,以上操作搭建不会太难。