mongodb复制集搭建

环境:centos 6.5、 mongodb 3.2.7
在一台虚拟机中启动三个mongodb服务来模拟
ip:192.168.1.219
端口:27017、27018、27019



27017:配置文件:

port=27017 #配置端口号
dbpath=data #配置数据存放的位置,这里使用相对路径
logpath=log/mongodb.log  #配置日志存放的位置
logappend=true  #日志使用追加的方式
fork=true  #设置在后台运行
replSet=YAOMONGO   #配置复制集名称,该名称要在所有的服务器一致

27018 配置文件:

port=27018 #配置端口号
dbpath=data #配置数据存放的位置,这里使用相对路径
logpath=log/mongodb.log  #配置日志存放的位置
logappend=true  #日志使用追加的方式
fork=true  #设置在后台运行
replSet=YAOMONGO   #配置复制集名称,该名称要在所有的服务器一致

27019 配置文件

port=27019 #配置端口号
dbpath=data #配置数据存放的位置,这里使用相对路径
logpath=log/mongodb.log  #配置日志存放的位置
logappend=true  #日志使用追加的方式
fork=true  #设置在后台运行
replSet=YAOMONGO   #配置复制集名称,该名称要在所有的服务器一致

启动每个实例

如果启动出现以下错误,可能是当前的用户权限不足

ERROR: child process failed, exited with error number 1


全部实例启动完成后,需要进入其中一个实例进行配置

其中设置27018为arbiter节点

进入端口号:27017进行配置

./bin/mongo 127.0.0.1/admin

配置

config = {
	_id:"YAOMONGO",
	members:[
		{_id:0,host:"192.168.1.219:27017"},
		{_id:1,host:"192.168.1.219:27018",arbiterOnly:true},
		{_id:2,host:"192.168.1.219:27019"}
	]
}

使用rs.initiate进行初始化

rs.initiate(config);



使用rs.status()查看状态



进入各个节点验证,略

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

验证复制集同步


主库插入数据 端口:27017


从库查看数据 端口:27019

从库查询数据需要设置slaveOK为true


查看arbiter节点 端口:27018,由于arbiter节点是仲裁节点,只参与投票,不接收复制的数据,也不能成为primary节点



----------------------------------------------------------------------------------------------------------------------------------------------------------------------------

复制集开启认证

1、先在没有开启auth的主节点中创建用户
2、在使用openssl生成密钥文件
openssl  rand -base64 64 > keyfile.dat
#生成64字节的密钥文件

chmod 600 keyfile.dat
#建议把密钥文件的权限设置为600(针对启动mongo实例的用户)
3、将这个密钥文件复制到复制节点上(包括主节点和从节点)

4、在配置文件中开启
auth=true
keyFile = keyfile.dat

5、启动所有实例即可


----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

如果需要将某台机器指定为主节点,(例如:将性能最好的服务器作为主节点)
那么需要在节点配置上将其权重设置大于其它节点的权重,参数:priority 默认值是1,因此在指定的节点上设置大于1的权重即可
例如:
将192.168.1.219:27019设置为主节点

config = {
	_id:"YAOMONGO",
	members:[
		{_id:0,host:"192.168.1.219:27017"},
		{_id:1,host:"192.168.1.219:27018",arbiterOnly:true},
		{_id:2,host:"192.168.1.219:27019",priority:5}
	]
}


将主节点降级为从节点
rs. stepDown ( stepDownSecs secondaryCatchUpPeriodSecs )
单位:秒
例如:rs.stepDown(15)


使用spring-data-mongodb 复制集配置


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值