mongo创建复制集

109 阅读1分钟
三台主机ubuntu22.04
172.16.195.139
172.16.195.140
172.16.195.141
配置文件
## 系统日志有关
systemLog:
  destination: file
  path: "/mongodb/log/mongodb.log"   ## 日志位置
  logAppend: true                    ## 日志以追加模式记录

## 数据存储有关
storage:
  journal:
    enabled: true
  dbPath: "/mongodb/data"           ## 数据路径位置

## 进程控制
processManagement:
  fork: true
## pidFilePath: <string>            ## pid文件的位置,一般不用配置,可以去掉这行,自动生成在data中


## 网络有关配置
net:
  bindIp: 0.0.0.0                  ## 监听地址,如果不配置这行监听在0.0.0.0
  port: 27017                      ## 端口号,默认不配置端口号是27017

## 安全验证有关配置
#security:
#  authorization: enabled           ## 是否打开用户名和密码验证

#############以下是复制集与分片集群有关########################
replication:
  oplogSizeMB: 2048
  replSetName: "my_repl"


启动三台机器(三个节点都执行)

mongod -f /mongodb/conf/conf.yaml 

配置复制集(在其中一个节点执行即可)

config={_id: 'my_repl', members:[{_id: 0, host: '172.16.195.139:27017'}, {_id: 1, host: '172.16.195.140:27017'}, {_id: 2, host: '172.16.195.141:27017'}]}

rs.initiate(config)

上述操作完后即配置完成,可以登录验证

rs.status()  #查看状态

通过上述配置的节点只能在主节点进行插入和查询,从库没法进行任何操作

执行下面命令,让从节点可读
rs.secondaryOk()