mongodb部署副本集
mongodb部署副本集
首先准备一台已经配置好mongo的虚拟机(建议先快照,万一报错太多可以恢复到快照重新开始),将它克隆两份,总共三台虚拟机(一个主节点两个副本节点)即一个primary两个secondary。步骤如下:
1、配置三台虚拟机的ip以及主机名(我配置的ip及主机名如下):
克隆的两个虚拟机中的hostname、ifcfg-ens33、hosts、mongod.conf配置文件都需要进行相应的ip和主机名的修改。
2、修改mongod.conf配置文件中的副本集名称
第一步已经在mongod.conf配置文件中加入了ip在mongod.conf中通过参数replication设置副本集名称,同一副本集必须指定相同名称(三台虚拟机名称一致)
systemLog:
destination: file
path: "/opt/servers/mongodb_demo/standalone/logs/mongologs.log"
logAppend: true
storage:
dbPath: "/opt/servers/mongodb_demo/standalone/data/db/"
journal:
enabled: true
processManagement:
fork: true
net:
bindIp: 192.168.213.134
port: 27017
replication:
replSetName: mongo
3、副本集初始化
先在主节点初始化
(1)、进入mongodb的bin目录
cd /opt/servers/mongodb_demo/mongodb/bin
(2)、以副本形式启动mongodb
./mongod --replSet mongo --dbpath=/opt/servers/mongodb_demo/standalone/data/ --logpath=/opt/servers/mongodb_demo/standalone/logs/mongodb.log --port 27017 --bind_ip nosql01 --logappend --fork
其中replSet指定了mongodb副本集名称(mongo),同一副本集名称需要保持一致
(注意!!!注意!!!)其中的nosql01为虚拟机主机名,启动另外两个虚拟机时记得换成相应的主机名。
(3)、登录mongodb客户端
./mongo --host nosql01 --port 27017
(注意!!!注意!!!)其中的nosql01为虚拟机主机名,启动另外两个虚拟机时记得换成相应的主机名。
(4)、初始化
rs.initiate()
出现“ok”:1表示主节点初始化成功,成功后会出现primary(没出现就等几秒后按回车),若出现“ok”:0则表示错误,错误的原因可能会有很多,可以去搜一下相关的报错。
(5)、添加结点
rs.add("nosql02:27017")
出现“ok”:1表示添加成功,出现“ok”:0则表示错误
rs.add("nosql03:27017")
出现“ok”:1表示添加成功,出现“ok”:0则表示错误
(6)从结点登录mongodb客户端
从结点进行(1)、(2)、(3)步骤,登录成功后应该显示secondary。各虚拟机成功后的截图如下:
至此,mongodb的副本集已经初步部署完成啦。
4、关闭mongo服务
ctrl + c退出mongo 使用kill -2 端口号或者kill -15 端口号关闭即可,不知道端口号可以使用
ps aux|grep mongo
查看mongo的端口号,关闭端口后也可以使用此代码查看是否关闭成功(可能会有延迟,关闭端口后等上几秒再查看最好)。
更多推荐










所有评论(0)