mongodb副本集搭建

昨天搭建了mongodb一主多从,之前搭建的一直是单例副本级,也没搭建仲裁节点,仲裁节点的意义是主节点宕机后选举从节点升级为主节点用的,好了,这里不做太多说明,接下来说一下我是怎么搭建的.

我这里是搭建了1主3从1仲裁(本着mongodb副本集数量为一定要为奇数的原则)

mongod.conf

# mongod.conf

# for documentation of all options, see:
#   http://docs.mongodb.org/manual/reference/configuration-options/

# Where and how to store data.
storage:
  dbPath: /var/lib/mongodb
  journal:
    enabled: true
  engine: wiredTiger
#  mmapv1:
#  wiredTiger:

# where to write logging data.
systemLog:
  destination: file
  logAppend: true
  path: /var/log/mongodb/mongod.log

# network interfaces
net:
  port: 27017
  bindIp: 0.0.0.0


#processManagement:

#security:
#  keyFile: /etc/mongo-key
#  authorization: enabled


#operationProfiling:

replication:
  oplogSizeMB: 100
  replSetName: mongo-repl
#sharding:

## Enterprise-Only Options:

#auditLog:

#snmp:

1.docker-compose.yml

version: "2"

services: 
  master:
    image: hb_mongo_4.2
    container_name: master
    restart: always
    ports:
      - "30001:27017"
    volumes:
      - /Users/haohao/srv/mongo-repl/master/data:/var/lib/mongodb
      - /Users/haohao/srv/mongo-repl/master/log:/var/log/mongodb/log
      - /Users/haohao/srv/mongo-repl/master/mongod.conf:/data/mongod.conf
    command: mongod -f /data/mongod.conf

  slave01:
    image: hb_mongo_4.2
    container_name: slave01
    restart: always
    ports:
      - "30002:27017"
    volumes:
      - /Users/haohao/srv/mongo-repl/slave01/data:/var/lib/mongodb
      - /Users/haohao/srv/mongo-repl/slave01/log:/var/log/mongodb/log
      - /Users/haohao/srv/mongo-repl/slave01/mongod.conf:/etc/mongod.conf
    command: mongod -f /etc/mongod.conf


  slave02:
    image: hb_mongo_4.2
    container_name: slave02
    restart: always
    ports:
      - "30003:27017"
    volumes:
      - /Users/haohao/srv/mongo-repl/slave02/data:/var/lib/mongodb
      - /Users/haohao/srv/mongo-repl/slave02/log:/var/log/mongodb/log
      - /Users/haohao/srv/mongo-repl/slave02/mongod.conf:/etc/mongod.conf
    command: mongod -f /etc/mongod.conf

  slave03:
    image: hb_mongo_4.2
    container_name: slave03
    restart: always
    ports:
      - "30004:27017"
    volumes:
      - /Users/haohao/srv/mongo-repl/slave03/data:/var/lib/mongodb
      - /Users/haohao/srv/mongo-repl/slave03/log:/var/log/mongodb/log
      - /Users/haohao/srv/mongo-repl/slave03/mongod.conf:/etc/mongod.conf
    command: mongod -f /etc/mongod.conf

  myarbiter:
    image: hb_mongo_4.2
    container_name: myarbiter
    restart: always
    ports:
      - "30005:27017"
    volumes:
      - /Users/haohao/srv/mongo-repl/myarbiter/data:/var/lib/mongodb
      - /Users/haohao/srv/mongo-repl/myarbiter/log:/var/log/mongodb/log
      - /Users/haohao/srv/mongo-repl/myarbiter/mongod.conf:/etc/mongod.conf
    command: mongod -f /etc/mongod.conf
 #启动
 docker-compose up -d 
 #启动后进入master mongo
 docker-compose exec master mongo
 #在master节点添加副本集
 config={ _id:"mongo-repl", members:[
{_id:0,host:"192.168.1.113:30001",priority:5},
{_id:1,host:"192.168.1.113:30002",priority:4},
{_id:2,host:"192.168.1.113:30003",priority:3},
{_id:3,host:"192.168.1.113:30004",priority:2},
{_id:4,host:"192.168.1.113:30005",arbiterOnly:true}]
}
rs.initiate(config)

这样就建立好了 ,我这里的host IP为我宿主机的固定ip,不知道的可以ifconfig查看一下

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值