Mongodb副本集一主两副本三台真机

1)搭建mongonb

1节点规划三节点

172.16.3.33 后面规划为PRIMARY

172.16.3.34 后面规划为SECONDARY

172.16.3.35 后面规划为SECONDARY

2三节点部署mongodb

tar -zxvf mongodb-linux-x86_64-rhel70-4.4.5.tgz

mv mongodb-linux-x86_64-rhel70-4.4.5/ mongodb4

cd mongodb4/

mkdir -p ./db

mkdir -p ./logs

touch ./logs/mongodb.log

vi mongodb.conf

dbpath=/mnt/keydom/db/mongodb4/db #数据文件保存地址

logpath=/mnt/keydom/db/mongodb4/logs/mongodb.log #日志保存地址

port=27017 #端口

fork=true #是否后台启动

#auth= #是否开启权限,访问需要用户名和密码

bind_ip=0.0.0.0 任何IP克登录

logappend=true

配置环境变量:

vi /etc/profile

export PATH=$PATH:/mnt/keydom/db/mongodb4/bin

source /etc/profile

3启动mongodb

进入mongodb  bin目录

cd /bin

./mongod --config /mnt/keydom/db/mongodb4/mongodb.conf

登录mongodb 配置用户认证:

use admin

db.createUser(

{

user:'admin',

pwd:'Admin',

roles:['userAdminAnyDatabase']

}

)

三节点做同样配置:

配置完成之后,分别在三个节点上执行如下命令通过加载文件配置来启动MongoDB服务:

./mongod --config /mnt/keydom/db/mongodb4/mongodb.conf

至此,进行一些配置。

2 副本集配置

三个节点vi mongodb.conf配置文件分别添加:

# 设置副本集名称,在各个配置文件中,其值必须相同

replSet=rs0  #副本集名称

3个MongoDB实例都已经以副本集方式启动,重启 三个节点 mongodb ,但它们彼此之间现在还不会进行通信,仍需要

1副本集初始化:

通过 Shell 连接到任意一个MongoDB实例,配置副本集并配置权重,根据权重选举主节点 ,执行 rs.initiate() 方法对副本集进行初始化。

执行

conf=

{

"_id" : "rs0",

"members" : [

{ "_id" : 0, "host" : "172.16.3.33:27017",priority:5 },

{ "_id" : 1, "host" : "172.16.3.34:27017",priority:1},

{ "_id" : 2, "host" : "172.16.3.35:27017",priority:1 }

]

}

rs.initiate(conf) 初始化

2 创建认证keyFile文件

1) 先停掉所有SECONDARY节点的MongoDB服务,然后再停掉PRIMARY节点的MongoDB服务,并在PRIMARY节点所在服务器上创建keyFile文件,并赋予权限:

openssl rand -base64 666  > /mnt/keydom/db/mongodb/bin/keyfile

 chmod 600 /mnt/keydom/db/mongodb/bin/keyfile

2) 将生成的keyFile文件拷贝到其他节点服务器上,并修改文件的操作权限为 600。

3) 修改三个节点配置文件添加

keyFile=/mnt/keydom/db/mongodb/bin/keyfile

4启动三个节点的mongodb数据库:

进入 mongodb bin目录下./mongod --config /mnt/keydom/db/mongodb/mongodb.conf

到此副本集配置完成

验证
经过验证三节点正常运行后

172.16.3.33  为 PRIMARY 主节点

172.16.3.34 为 SECONDARY副本

172.16.3.35 为 SECONDARY副本

会发现172.16.3.33  为 PRIMARY 主节点 主节点进行数据库操作后

172.16.3.34 、172.16.3.35 为 SECONDARY副本 上数据库信息同步更新

测试当172.16.3.33 服务挂点后  172.16.3.34变为PRIMARY 主节点。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值