3台服务器搭建MongoDB 傻瓜式
1.首先准备3台centos7服务器
我当前用的mongodb版本是4.2.2
首先在三台服务器上传下载好的压缩包# 一级标题
2.把上传的压缩包在该路径下解压 opt/mongodb
tar -zxvf mongodbxxx.tgz
3.配置环境变量,路径根据自己路径
echo 'export PATH=.:/opt/mongodb/mongodb-linux-x86_64-rhel70-4.2.2/bin:$PATH' >> /etc/profile
保存后执行:
source /etc/profile
4.创建路由、配置、分片等的相关目录与文件配置服务器部署(3台服务器执行相同操作)
mkdir -p /home/mongodb/conf //启动配置文件存放的文件夹
mkdir -p /home/mongodb/data/config //配置服务数据存放目录
mkdir -p /home/mongodb/data/shard1 //分片1服务数据存放目录
mkdir -p /home/mongodb/data/shard2 //分片2服务数据存放目录
mkdir -p /home/mongodb/data/shard3 //分片3服务数据存放目录
mkdir -p /home/mongodb/log //创建log目录
touch /home/mongodb/log/config.log //配置服务日志存放文件
touch /home/mongodb/log/mongos.log //路由服务日志存放文件
touch /home/mongodb/log/shard1.log //分片1服务日志存放文件
touch /home/mongodb/log/shard2.log //分片2服务日志存放文件
touch /home/mongodb/log/shard3.log //分片3服务日志存放文
5.在/opt/mongodb/conf目录创建config.conf,内容如下
dbpath=/opt/mongodb/data/config
logpath=/opt/mongodb/log/config.log
port=27018
logappend=true
fork=true
maxConns=5000
#复制集名称,可以自己起
replSet=configs
#置参数为true
configsvr=true
#允许任意机器连接,当前我设置的是允许所有机器连接不安全,可以换成指定IP,多个ip逗号隔开
bind_ip=0.0.0.0
6.配置复制集,分别启动三台服务器的配置服务:
mongod -f /opt/mongodb/conf/config.conf
7.连接mongo,只需在任意一台机器执行即可:
mongo --host 机器ip --port 27018
8.切换数据库
use admin
9.初始化复制集
rs.initiate({_id:"configs",members:[{_id:0,host:"ip1:27018"},{_id:1,host:"ip2:27018"},{_id:2,host:"ip3:27018"}]})
配置复制集报错,有一台mongodb复制集拒绝连接
原因是因为这台mongo的config配置ip错误
修改完config配置,查看当前mongo进程杀掉重启
ps aux | grep mongod
kill -9 进程
mongod -f /opt/mongodb/conf/config.conf
重新初始化复制集
10.等几十秒左右,执行命令查看状态
rs.status()
查看三台机器的配置服务就已形成复制集,其中1台为PRIMARY,其他2台为SECONDARY,一主两从,至此成功!