mongodb replica set 配置高性能多服务器详解
使用mongodb的replica set,来实现多服务器的高可用
准备:1安装mongo 到服务器,参见第二部分,
2同步服务器时间:时间同步命令:ntpdate asia.pool.ntp.org 或者ntpdate fenqigo.com.cn
一,三台服务器,1主,2从 服务器1:127.0.0.1:27017 服务器2:127.0.0.1:27018 服务器3:127.0.0.1:27019
1,创建数据库目录 1
[root@localhost ~]# mkdir /var/lib/{mongodb_2,mongodb_3}
在一台机子上面模拟,三台服务器,所以把DB目录分开了。 2,创建配置文件
[root@localhost ~]# vi /etc/mongod.conf //主服务器配置 port = 27017 //监听端口 fork = true //后台运行 dbpath=/var/lib/mongo
pidfilepath=/var/run/mongodb/mongod.pid replSet=fenqigo//复制集名称 oplogSize=1024
配置从库mongod_2.conf, mongod_3.conf cp /etc/mongod.conf /etc/mongod_2.conf cp /etc/mongod.conf /etc/mongod_3.conf
同时修改mongod_2.conf mongod_3.conf
在这里要注意一点,不要把认证开起来了,不然查看rs.status();时,主从服务器间,无法连接,\
3,启动三台服务器 1
mongod -f /etc/mongod.conf
2 3 mongod -f /etc/mongod_2.conf mongod -f /etc/mongod_3.conf
注意:初次启动时,主服务器比较快的,从服务器有点慢。
二,配置并初始化replica set
1,配置replica set节点 登陆节点初始化
> config = {_id:\ 192.168.20.28:27017',priority :2},{_id:1,host:'
192.168.20.28:27018',priority:1},{_id:2,host:' 192.168.20.28:27019',priority:1}]} 建议:在多机器使用内网ip来代替localhost,如192.168.xxx.xxx,也不要用127.0.0.1,建议配置如下:
2,初始化replica set > rs.initiate(config); {
\ \ }
执行报错:原因在mongod.conf配置信息有误port应该是27019
修改后成功
3,查看replica set各节点状态:fenqigo:PRIMARY> rs.status();
state为1表明是Primary,2表明是Secondary,3是Recovering,7是Arbiter,8是Down
若mongo服务器ip更改,则需要更改mongo集群的三个配置文件 /etc/mongod.conf /etc/mongod_2.conf /etc/mongod_3.conf 修改里面的bind_ip 重启mongo服务 初始化登录节点
config = {_id:\192.168.50.128:27017',priority :2},{_id:1,host:'
192.168.50.128:27018',priority:1},{_id:2,host:'192.168.50.128:27019',priority:1}]} 红色部分为修改后的ip地址。 初始化replica set