mongodb数据库集群安装与部署分享(一)

mongodb数据库集群安装与部署分享(一)

技术教程gslnedu2025-02-01 12:43:2310A+A-
  • 第一、 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、容器化部署和传统用户部署时间对比:


点击这里复制本文地址 以上内容由朽木教程网整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!
qrcode

朽木教程网 © All Rights Reserved.  蜀ICP备2024111239号-8