七、rancher搭建Mongodb集群化部署:

一.Mongodb在rancher上面部署:
命令如图:mongod --keyFile /data/key/keyfile --replSet rs --bind_ip localhost,prod


prod

prod

prod

二.Mongodb在服务器上的配置keyfile
这个keyfile怎么生成的我也没试过,官网有一些解释但是没说具体怎么生成如图:


keyfile

我们需要把这个文件放在:


image.png

记得修改文件权限:
chown -R 999 key/ && cd key/ && chmod 400 keyfile
这样容器就能正常启动,这里我们要装3个mongodb:prod,master,slave,基本配置一样,日志映射要改一下名字别用一样的地址,还有上面说的启动命令要换成自己的服务名

这些添加好就可以互相添加服务了如图:
其实就是各个容器是不互相影响的,如何让他们在互通就需要互相添加你要用的服务
这个名称如果不配置就用默认的,看你要不要配置
Prod:


prod

master:
master

Slave:
slave

现在要去prod容器执行命令如下图一步一步执行,上面是设置账户认证,init设置初始化,下面是设置3台服务器权重1代表权重主,0代表权重比1低:
## mongodb
``` sql
mongo
use admin
db.auth('root','d6053c0221df11e8b4670ed5f89f718b')
rs.initiate({_id:"rs", members:[{_id:0,host:"prod:27017"},{_id:1,host:"master:27017"},{_id:2,host:"slave:27017"}]})
rs.status()
config=rs.conf()
config.members[0].priority = 1
config.members[1].priority = 0
config.members[2].priority = 0
rs.reconfig(config)
```
prod

Master:

## mongodb
``` sql
mongo
use admin
db.auth('root','d6053c0221df11e8b4670ed5f89f718b')
db.getMongo().setSlaveOk();
```
master

Slave:

## mongodb
``` sql
mongo
use admin
db.auth('root','d6053c0221df11e8b4670ed5f89f718b')
db.getMongo().setSlaveOk();
```
slave

三.Mongodb集群测试是否成功:
参考文献:https://www.yiibai.com/mongodb/mongodb_quick_guide.html

  1. show dbs查询所有库
  2. user 库名
  3. db.createCollection("mycollection")创建一个集合
  4. show collections 查询集合名
  5. db.mycollection.insert({"name" : "abc"}) 插入数据
  6. db.COLLECTION_NAME.find() 查询集合里面所有参数


    测试

    你这些命令你用在master和slave你会发现是查询不到
    Mongodb除了主是可读可写的,其他只能查看该节点的情况不可改写
    就已经说明你成功了,其实之前配置有个查看状态的命令也可以看出来有没有成功
    rs.status()

四.Mongodb管理界面mongo-express搭建


express

express

express

成功日志:


日志

五.Mongodb整合对外端口搭建haproxy

  1. 先看rancher配置
    上面服务配置的是管理界面端口,下面配置的是mongodb对外端口


    haproxy

    haproxy

    2.配置haproxy.cfg的文件,记得要修改成你自己的服务名。


    配置

    放在服務器位置:
    位置

    界面

指导qq:179061434

你可能感兴趣的:(七、rancher搭建Mongodb集群化部署:)