mongodb副本集搭建步骤

MongoDB的Docker集群(Replica set模式)的搭建步骤:

Step1: 创建密钥文件
#在任一台服务器上面执行如下的命令,然后把密钥文件复制到其余两个服务器的同样的位置
$ sudo mkdir -p /usr/local/key && cd /usr/local/key
$ openssl rand -base64 741 > mongodb-keyfile #mongodb-keyfile为密钥文件
#如果执行不成功,可以先新建mongodb-keyfile文件,将执行openssl rand -base64 741的输出手动拷进去mongodb-keyfile文件
$ sudo chmod 600 mongodb-keyfile && sudo chown 999 mongodb-keyfile
#这个密钥文件的所有者被设置成为“999”的用户了,因为在MongoDB的Docker容器中,这个用户需要有操作密钥文件的权限

Step2: 启动mongodb服务
#在三台机器分别执行下面命令。
$ sudo docker run --name mongo \
-v /var/lib/dmongodb:/data/db \
-v /usr/local/key:/opt/keyfile \
-p 27017:27017 -d mongo \
--keyFile /opt/keyfile/mongodb-keyfile \
--replSet "replSetHO"
注: -v 参数 将MongoDB容器与宿主机建立映射关系
--keyFile 指定容器内的文件位置。 --replSet 三个节点必须一致

Step3: 配置集群信息
进入任一MongoDB容器
$ sudo docker exec -it mongo /bin/bash
$ mongo(打开与MongoDB交互的客户端)
$ config={ _id:"replSetHO", members:[ {_id:0,host:'172.30.1.142:27017',priority:10}, {_id:1,host:'172.30.1.145:27017',priority:8}, {_id:2,host:'172.30.1.146:27017',priority:4}] };
# 这里的_id:"replSetHO" 要与启动MongoDB容器时指定的 --replSet 一致。 priority数值最高的为主库,其他为副本。
$ rs.initiate(config);
#输出 { "ok" : 1 } 表示设置集群成功

Step4: 设置登录授权
进入主库
$ sudo docker exec -it mongo /bin/bash
$ mongo 
$ use admin 
$ db.createUser( {user: "myroot",pwd: "mypwd",roles: [ { role: "root", db: "admin" } ]});
#出现 Successfully added user........ 则设置成功

其他:

查看集群信息
$ rs.status()

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值