搭建高可用的mongodb副本集(1主,1从,1仲裁)

一、搭建高可用的mongodb副本集(1主、1从、1仲裁)

73.119主

73.120从+仲裁

 

1、部署

73.119上:

cd /data1/setup/

tar zxf mongodb-linux-x86_64-3.4.1.tgz

 

mv /data1/setup/mongodb-linux-x86_64-3.4.1 /data1/opt/mongodb

 

mkdir /data1/opt/mongodb/data

mkdir /data1/opt/mongodb/log/

touch /data1/opt/mongodb/log/mongod.log

mkdir /data1/opt/mongodb/conf/

 

73.120上:

cd /data1/setup/

tar zxf mongodb-linux-x86_64-3.4.1.tgz

 

mv /data1/setup/mongodb-linux-x86_64-3.4.1 /data1/opt/mongodb

 

mkdir /data1/opt/mongodb/data

mkdir /data1/opt/mongodb/log/

touch /data1/opt/mongodb/log/mongod.log

mkdir /data1/opt/mongodb/conf/

 

cp -r /data1/opt/mongodb /data1/opt/mongodb-arbiter

 

2、修改配置

73.119上:

vi /data1/opt/mongodb/conf/mongod.conf

 

dbpath=/data1/opt/mongodb/data 

logpath=/data1/opt/mongodb/log/mongodb.log 

pidfilepath=/data1/opt/mongodb/mongod.pid 

directoryperdb=true 

logappend=true 

replSet=mallrs 

bind_ip=172.16.73.119 

port=27017 

oplogSize=10000 

fork=true 

noprealloc=true 

 

 

73.120上:

vi /data1/opt/mongodb/conf/mongod.conf

 

dbpath=/data1/opt/mongodb/data 

logpath=/data1/opt/mongodb/log/mongodb.log 

pidfilepath=/data1/opt/mongodb/mongod.pid 

directoryperdb=true 

logappend=true 

replSet=mallrs 

bind_ip=172.16.73.120 

port=27017 

oplogSize=10000 

fork=true 

noprealloc=true 

 

vi /data1/opt/mongodb-arbiter/conf/mongod.conf

 

dbpath=/data1/opt/mongodb-arbiter/data 

logpath=/data1/opt/mongodb-arbiter/log/mongodb.log 

pidfilepath=/data1/opt/mongodb-arbiter/mongod.pid 

directoryperdb=true 

logappend=true 

replSet=mallrs 

bind_ip=172.16.73.120 

port=27018 

oplogSize=10000 

fork=true 

noprealloc=true

 

 

参数解释:

dbpath:数据存放目录

logpath:日志存放路径

pidfilepath:进程文件,方便停止mongodb

directoryperdb:为每一个数据库按照数据库名建立文件夹存放

logappend:以追加的方式记录日志

replSet:replica set的名字

bind_ip:mongodb所绑定的ip地址

port:mongodb进程所使用的端口号,默认为27017

oplogSize:mongodb操作日志文件的最大大小。单位为Mb,默认为硬盘剩余空间的5%

fork:以后台方式运行进程

noprealloc:不预先分配存储

 

 

3、启动

 

73.119上:

/data1/opt/mongodb/bin/mongod -f /data1/opt/mongodb/conf/mongod.conf

 

73.120上:

/data1/opt/mongodb/bin/mongod -f /data1/opt/mongodb/conf/mongod.conf

/data1/opt/mongodb-arbiter/bin/mongod -f /data1/opt/mongodb-arbiter/conf/mongod.conf

 

 

4、配置

/data1/opt/mongodb/bin/mongo 172.16.73.119:27017 

>use admin 

>cfg={_id:"mallrs",members:[{_id:0,host:'172.16.73.119:27017',priority:2},{_id:1,host:'172.16.73.120:27017',priority:1},{_id:2,host:'172.16.73.120:27018',arbiterOnly:true}]};

>rs.initiate(cfg)             #使配置生效 

 

 

mallrs:OTHER> rs.status()

{

  "set" : "mallrs",

  "date" : ISODate("2017-12-12T06:00:39.422Z"),

  "myState" : 1,

  "term" : NumberLong(1),

  "heartbeatIntervalMillis" : NumberLong(2000),

  "optimes" : {

         "lastCommittedOpTime" : {

                 "ts" : Timestamp(1513058434, 1),

                 "t" : NumberLong(1)

         },

         "appliedOpTime" : {

                 "ts" : Timestamp(1513058434, 1),

                 "t" : NumberLong(1)

         },

         "durableOpTime" : {

                 "ts" : Timestamp(1513058434, 1),

                 "t" : NumberLong(1)

         }

  },

  "members" : [

         {

                 "_id" : 0,

                 "name" : "172.16.73.119:27017",

                 "health" : 1,

                 "state" : 1,

                 "stateStr" : "PRIMARY",

                 "uptime" : 395,

                 "optime" : {

                         "ts" : Timestamp(1513058434, 1),

                         "t" : NumberLong(1)

                 },

                 "optimeDate" : ISODate("2017-12-12T06:00:34Z"),

                 "infoMessage" : "could not find member to sync from",

                 "electionTime" : Timestamp(1513058393, 1),

                 "electionDate" : ISODate("2017-12-12T05:59:53Z"),

                 "configVersion" : 1,

                 "self" : true

         },

         {

                 "_id" : 1,

                 "name" : "172.16.73.120:27017",

                 "health" : 1,

                 "state" : 2,

                 "stateStr" : "SECONDARY",

                 "uptime" : 56,

                 "optime" : {

                         "ts" : Timestamp(1513058434, 1),

                         "t" : NumberLong(1)

                 },

                 "optimeDurable" : {

                         "ts" : Timestamp(1513058434, 1),

                         "t" : NumberLong(1)

                 },

                 "optimeDate" : ISODate("2017-12-12T06:00:34Z"),

                 "optimeDurableDate" : ISODate("2017-12-12T06:00:34Z"),

                 "lastHeartbeat" : ISODate("2017-12-12T06:00:37.667Z"),

                 "lastHeartbeatRecv" : ISODate("2017-12-12T06:00:38.189Z"),

                 "pingMs" : NumberLong(0),

                 "syncingTo" : "172.16.73.119:27017",

                 "configVersion" : 1

         },

         {

                 "_id" : 2,

                 "name" : "172.16.73.120:27018",

                 "health" : 1,

                 "state" : 7,

                 "stateStr" : "ARBITER",

                 "uptime" : 56,

                 "lastHeartbeat" : ISODate("2017-12-12T06:00:37.667Z"),

                 "lastHeartbeatRecv" : ISODate("2017-12-12T06:00:35.077Z"),

                 "pingMs" : NumberLong(0),

                 "configVersion" : 1

         }

  ],

  "ok" : 1

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值