0
点赞
收藏
分享

微信扫一扫

mongo 副本集

版本:mongo-enterprise-rhel70-5.0.0.tgz

结构:

mongo 副本集_mongodb

ip及端口:

primary:127.0.0.1:27017
secondary:127.0.0.1:27018
arbiter:127.0.0.1:27019

创建目录:

mkdir primary/{dbs,logs,conf,pid}
mkdir secondary/{dbs,logs,conf,pid}
mkdir arbiter/{dbs,logs,conf,pid}

keyFile生成:(开启认证需要auth = true)

openssl rand -base64 765 > /data/mongodb/primary/data/mongo.key
chown mongodb.mongodb /data/mongodb/primary/data/mongo.key
chmod 600 /data/mongodb/primary/data/mongo.key
#复制到其他节点
cp /data/mongodb/primary/data/mongo.key /data/mongodb/secondary/data/mongo.key
cp /data/mongodb/primary/data/mongo.key /data/mongodb//data/mongo.key

配置文件:/data/mongodb/primary/conf/mongo.conf

dbpath=/data/mongodb/primary/data
logpath=/data/mongodb/primary/logs/mongodb.log
pidfilepath = /data/mongodb/primary/pid/mongodb.pid
port=27117
auth = true
directoryperdb = true
logappend=true
fork=true
journal = true
bind_ip = 0.0.0.0
replSet=fff
keyFile=/data/mongodb/primary/data/mongo.key

启动各mongo节点

mongod -f /data/mongodb/primary/conf/mongo.conf
mongod -f /data/mongodb/secondary/conf/mongo.conf
mongod -f /data/mongodb/arbiter/conf/mongo.conf

登录节点

mongo --port=27017

初始化副本:

use admin
#创建用户
createUser({
user:'root',pwd:'123456',roles:[{role:'root',db:'admin'}]
})
#认证登录
db.auth('root','123456')
#配置conf
conf_fff={
_id:"fff",members:[
{ _id: 0, host: "127.0.0.1:27017"},
{ _id: 1, host: "127.0.0.1:27018"},
{ _id: 2, host: "127.0.0.1:27019",arbiterOnly:true}
]}
#初始化
rs.initiate(conf_fff)
#查看状态
rs.status()

验证:

#主库插入数据
mongo --port=27017
use admin
db.auth('root','123456')

use test
db.testtable.insert({"name":"zhangsan"})
#查看数据
db.testtable.find()

secondary节点验证数据:

mongo --port=27018
use admin
db.auth('root','123456')
use test
#需要先授权要不报错
rs.secondaryOk()
#查询数据
db.testtable.find()

手动添加、移除新增节点:

#登录primary
use admin
db.auth('root','123456')

rs.add({'127.0.0.1:27020'})
rs.remove({'127.0.0.1:27020'})


举报

相关推荐

0 条评论