- 第一、 mongo集群容器化部署
- 第二、 mongo集群传统化部署
- 第三、 容器化部署和传统用户部署对比
第一、 mongo集群容器化部署
环境描述:
10.1.1.2 centos7.9
10.1.1.3 centos7.9
10.1.1.4 centos7.9
部署一主一从一仲裁模式
mongodb版本:mongodb-3.2.22
podman版本:podman-3.4.4
1、宿主机创建用户,3台主机同样的操作.
groupadd -g 1028 mongodb
mkdir -p /aifs01/users
chmod 755 /aifs01
chmod 755 /aifs01/users
useradd -u 1028 -g mongodb -G mongodb,users -d /aifs01/users/mgousr01 -m mgousr01
2、登录到用户mgousr01,podman进行mongo部署镜像,3台主机同样的操作.
拉取镜像:
podman pull store.xxxx.com/base-library/mongodb:mongodb3.2.22-2
#podman pull store.xxxx.com/base-library/mongo3.2.22:latest
新建宿主机的目录:
mkdir /aifs01/users/mgousr01/mongodata
mkdir /aifs01/users/mgousr01/anybackup
启动镜像:
podman run -itd --name mongo01 -v /aifs01/users/mgousr01/mongodata:/data -v /aifs01/users/mgousr01/anybackup:/anybackup -p 3707:2707 67911b84ee06
3、登录数据库,配置集群关系
mongo 10.1.1.2:3707/admin
config={_id: 'rs0', members: [{_id:0,host: '10.1.1.2:3707'},{_id: 1, host: '10.1.1.3:3707'},{_id: 2, host: '10.1.1.4:3707', arbiterOnly:true}]}
rs.initiate(config);
rs.conf()
rs.status();
创建数据库
use testdb01
向数据库中插入数据
db.testdb01.insert({"name":"it运维"})
db.testdb01.find({"name":"it运维"})
查看数据库
~>show dbs;
~>db;
其他命令:
mongo 停止服务命令:
/usr/local/mongodb-3.2.22/bin/mongod ~-~-shutdown -f /data/mongodb/conf/mongo.conf
第二、 mongo集群传统化部署
************三台主机搭建mongo集群****************
创建mongodb操作系统用户
groupadd -g 355 mongodb
mkdir /aifs01/users
chmod 755 /aifs01/users
useradd -u 355 -g mongodb -G mongodb,users -d /aifs01/users/mgousr01 -m mgousr01
passwd mgousr01 ~-~-stdin <<< pwd123
登录用户mgousr01执行以下操作
主机1:
mkdir -p mongodb/dbdata/rs0 mongodb/logs mongodb/etc mongodb/pid mongodb/bin
mgousr01@AI-iPaaS-SERVER01:/aifs01/users/mgousr01/mongodb/bin> more start-mongo.sh
mongod -f /aifs01/users/mgousr01/mongodb/etc/mongo-1m.conf
mgousr01@AI-iPaaS-SERVER01:/aifs01/users/mgousr01/mongodb/etc> more mongo-1m.conf
dbpath=/aifs01/users/mgousr01/mongodb/dbdata/rs0
logpath=/aifs01/users/mgousr01/mongodb/logs/mongo-1m.log
pidfilepath=/aifs01/users/mgousr01/mongodb/dbdata/rs0/mongo-1m.pid
directoryperdb=true
logappend=true
replSet=rs0
bind_ip=10.1.1.2
port=3707
oplogSize=1024
fork=true
#noprealloc=true
#auth=true
#keyFile=/uniiof/users/mgousr01/mongodb/etc/keyFile/keyFilers0
主机2:
mgousr01@AI-iPaaS-SERVER02:/aifs01/users/mgousr01/mongodb/bin> more start-mongo.sh
mongod -f /aifs01/users/mgousr01/mongodb/etc/mongo-1s.conf
mgousr01@AI-iPaaS-SERVER02:/aifs01/users/mgousr01/mongodb/etc> more mongo-1s.conf
dbpath=/aifs01/users/mgousr01/mongodb/dbdata/rs0
logpath=/aifs01/users/mgousr01/mongodb/logs/mongo-1s.log
pidfilepath=/aifs01/users/mgousr01/mongodb/dbdata/rs0/mongo-1s.pid
directoryperdb=true
logappend=true
replSet=rs0
bind_ip=10.1.1.3
port=3707
oplogSize=1024
fork=true
#noprealloc=true
#auth=true
#keyFile=/uniiof/users/mgousr01/mongodb/etc/keyFile/keyFilers0
主机3:
mgousr01@AI-iPaaS-SERVER03:/aifs01/users/mgousr01/mongodb/bin> more start-mongo.sh
mongod -f /aifs01/users/mgousr01/mongodb/etc/mongo-1a.conf
mgousr01@AI-iPaaS-SERVER03:/aifs01/users/mgousr01/mongodb/etc> more mongo-1a.conf
dbpath=/aifs01/users/mgousr01/mongodb/dbdata/rs0
logpath=/aifs01/users/mgousr01/mongodb/logs/mongo-1a.log
pidfilepath=/aifs01/users/mgousr01/mongodb/dbdata/rs0/mongo-1a.pid
directoryperdb=true
logappend=true
replSet=rs0
bind_ip=10.1.1.4
port=3707
oplogSize=1024
fork=true
#noprealloc=true
#auth=true
#keyFile=/uniiof/users/mgousr01/mongodb/etc/keyFile/keyFilers0
登录数据库
mongo 10.1.1.2:3707/admin
config={_id: 'rs0', members: [{_id:0,host: '10.1.1.2:3707'},{_id: 1, host: '10.1.1.3:3707'},{_id: 2, host: '10.1.1.4:3707', arbiterOnly:true}]}
rs.initiate(config);
rs.conf()
rs.status();
***********************搭建mongo集群完毕*****************************
第三、 容器化部署和传统用户部署对比
1、容器化部署和传统用户部署时间对比: