MongoDB3.0副本集搭建-创新互联
环境配置
创新互联专注于企业全网营销推广、网站重做改版、城北网站定制设计、自适应品牌网站建设、H5响应式网站、商城网站制作、集团公司官网建设、成都外贸网站建设公司、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为城北等各大城市提供网站开发制作服务。架构:一主两从(三台虚拟机)
系统版本:CentOS Linux release 7.4.1708 (Core)
MongoDB版本:3.0.15
MongoDB安装
以下操作需要在三台虚拟机都进行
下载yum源配置
wget https://repo.mongodb.org/yum/redhat/mongodb-org-3.0.repo mv mongodb-org-3.0.repo /etc/yum.repos.d/安装mongodb
yum -y install mongodb-org修改mongodb配置文件
# 修改监听地址为0.0.0.0 net: port: 27017 bindIp: 0.0.0.0 # 修改副本集配置,此项为之后配置副本集所需要的配置 replication: oplogSizeMB: 20480 replSetName: gogen说明:
oplogSizeMB:此为主从服务器在同步的时候需要的一块交换空间,如果服务器空间够大,那么此空间尽量足够大,单位为MB。此值更改时需要注意,不可随意更改
replSetName:此为副本集名称,自己自定义
修改内核配置
# 最好加入开机自启动配置文件 echo never > /sys/kernel/mm/transparent_hugepage/enabled echo never > /sys/kernel/mm/transparent_hugepage/defrag修改文件描述符/etc/security/limits.conf
# 在配置文件最后加入以后内容 mongod soft nofile 64000 mongod hard nofile 64000 mongod soft nproc 32000 mongod hard nproc 32000启动服务
chkconfig mongod on service mongod start副本集部署
在任何一台服务器上面执行下面命令
登录至monogdb
mongo切换至admin库
> use admin定义一个config变量,注意更改id名称为自己的副本集名,host为自己的实际主机IP和监听端口,变量名也可以自己定义
> config={_id:"gogen",members:[{_id:0,host:"192.168.6.91:27017"},{_id:1,host:"192.168.6.92:27017"},{_id:2,host:"192.168.6.93:27017"}]}初始化配置,返回 则创建成功
> rs.initiate(config) { "ok" : 1 } gogen:OTHER> gogen:PRIMARY>说明
{ "ok" : 1 }:代表执行成功,如果不成功返回其它结果
gogen:OTHER>:上条命令执行成功后提示符会变成这样,代表正在创建副本集,但此主机的角色还不确定,所以为OTHER
gogen:PRIMARY>:过一会再次直接回车就提示符就变成了PRIMARY(代表主),如果为SECONDARY(代表从)
副本集权重配置
在主上面登录至monogdb再执行下面的命令,首先定义一个变量
gogen:PRIMARY> cfg=rs.config()更改第一个主机的权重为100
gogen:PRIMARY> cfg.members[0].priority=100更改第二个主机的权重为90
gogen:PRIMARY> cfg.members[1].priority=90更改第三个主机的权重为1
gogen:PRIMARY> cfg.members[2].priority=1刷新配置
gogen:PRIMARY> rs.reconfig(cfg)副本集基本命令使用
查看副本集状态
gogen:PRIMARY> rs.status()# 反回结果参考 { "set" : "gogen", "date" : ISODate("2018-03-07T02:40:00.403Z"), "myState" : 1, "members" : [ { "_id" : 0, "name" : "192.168.6.91:27017", "health" : 1, "state" : 1, "stateStr" : "PRIMARY", "uptime" : 54870, "optime" : Timestamp(1520336246, 1), "optimeDate" : ISODate("2018-03-06T11:37:26Z"), "electionTime" : Timestamp(1520335742, 1), "electionDate" : ISODate("2018-03-06T11:29:02Z"), "configVersion" : 2, "self" : true }, { "_id" : 1, "name" : "192.168.6.92:27017", "health" : 1, "state" : 2, "stateStr" : "SECONDARY", "uptime" : 54661, "optime" : Timestamp(1520336246, 1), "optimeDate" : ISODate("2018-03-06T11:37:26Z"), "lastHeartbeat" : ISODate("2018-03-07T02:40:00.046Z"), "lastHeartbeatRecv" : ISODate("2018-03-07T02:39:59.466Z"), "pingMs" : 0, "syncingTo" : "192.168.6.91:27017", "configVersion" : 2 }, { "_id" : 2, "name" : "192.168.6.93:27017", "health" : 1, "state" : 2, "stateStr" : "SECONDARY", "uptime" : 54661, "optime" : Timestamp(1520336246, 1), "optimeDate" : ISODate("2018-03-06T11:37:26Z"), "lastHeartbeat" : ISODate("2018-03-07T02:39:59.914Z"), "lastHeartbeatRecv" : ISODate("2018-03-07T02:39:59.297Z"), "pingMs" : 0, "syncingTo" : "192.168.6.91:27017", "configVersion" : 2 } ], "ok" : 1 }查看副本集配置
gogen:PRIMARY> rs.config()# 返回结果参考 { "_id" : "gogen", "version" : 2, "members" : [ { "_id" : 0, "host" : "192.168.6.91:27017", "arbiterOnly" : false, "buildIndexes" : true, "hidden" : false, "priority" : 100, "tags" : { }, "slaveDelay" : 0, "votes" : 1 }, { "_id" : 1, "host" : "192.168.6.92:27017", "arbiterOnly" : false, "buildIndexes" : true, "hidden" : false, "priority" : 90, "tags" : { }, "slaveDelay" : 0, "votes" : 1 }, { "_id" : 2, "host" : "192.168.6.93:27017", "arbiterOnly" : false, "buildIndexes" : true, "hidden" : false, "priority" : 1, "tags" : { }, "slaveDelay" : 0, "votes" : 1 } ], "settings" : { "chainingAllowed" : true, "heartbeatTimeoutSecs" : 10, "getLastErrorModes" : { }, "getLastErrorDefaults" : { "w" : 1, "wtimeout" : 0 } } }测试
在主上面写入一些数据,查看从是否可以从主同步
测试主宕机(直接关机,或者停止服务),是否可以在另外两台从里同重新选举出新主
在新主上面再写入数据,查看另外一个从是否可以同步
恢复宕机的旧主服务器,查看新写入的数据是否可以同步到旧主,另外查看是否会将主夺取回来
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
当前题目:MongoDB3.0副本集搭建-创新互联
文章分享:http://scyanting.com/article/dodsei.html