搭建MongoDB复制集

1 复制集介绍

Mongodb复制集(Replication Set)由一组Mongod实例(进程)组成,包含一个Primary节点和多个Secondary节点,Mongodb Driver(客户端)的所有数据都写入Primary,Secondary从Primary同步写入的数据,以保持复制集内所有成员存储相同的数据集,提供数据的高可用。复制集提供冗余和高可用性,是所有生产部署的基础。
在这里插入图片描述

2 环境

三台阿里云
node1
node2
node3

wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-6.0.11.tgz
tar -zxvf mongodb-linux-x86_64-rhel70-6.0.11.tgz
#安装mongosh
wget https://downloads.mongodb.com/compass/mongodb-mongosh-1.8.0.x86_64.rpm
yum install -y mongodb-mongosh-1.8.0.x86_64.rpm

添加环境变量
修改/etc/profile,添加环境变量,方便执行MongoDB命令

export MONGODB_HOME=/data/app/mongo
PATH=$PATH:$MONGODB_HOME/bin   

然后执行source /etc/profile 重新加载环境变量

3 创建用户

创建mongo用户:

useradd mongo
passwd mongo

4 安装mongo

su mongo
创建数据,日志配置文件目录

mkdir -p /data/app/mongo/data/db
mkdir -p /data/app/mongo/data/logs
mkdir -p /data/app/mongo/data/conf

创建配置文件

vim /data/app/mongo/data/conf/mongod.conf
systemLog:
  destination: file
  path: /data/app/mongo/data/logs/mongod.log # log path
  logAppend: true
storage:   
  dbPath: /data/app/mongo/data/db # data directory      
net:
  bindIp: 0.0.0.0
  port: 27017 # port
replication:
  replSetName: rs0  
processManagement:
  fork: true
security:
  javascriptEnabled: false
  authorization: enabled

三台linux同样操作

5 启动 MongoDB

三台linux同样操作

mongod -f /data/app/mongo/data/conf/mongod.conf

配置复制集

# mongosh --port 27017 
# 初始化复制集
 rs.initiate({
    _id: "rs0",
    members: [{
        _id: 0,
        host: "192.168.65.191:27017"
    },{
        _id: 1,
        host: "192.168.65.192:27017"
    },{
        _id: 2,
        host: "192.168.65.193:27017"
    }]
})

复制集状态查询

  • 查看复制集整体状态: rs.status()
  • 查看当前节点角色:db.isMaster()

6 安全认证

创建用户
在主节点服务器上,启动mongo

use admin
#创建用户
db.createUser( {
    user: "root",
    pwd: "root",
     roles: [ { role: "clusterAdmin", db: "admin" }]
})

创建keyFile文件
keyFile文件的作用: 集群之间的安全认证,增加安全认证机制KeyFile(开启keyfile认证就默认开启了auth认证了)。

openssl rand -base64 756 > /data/app/mongo/data/mongo.key
 chmod 600 /data/app/mongo/data/mongo.key

启动mongod

 mongod -f /data/app/mongo/data/conf/mongod.conf --keyFile /data/app/mongo/data/mongo.key 
 #进入主节点
mongosh --port 27017 -u root -p root --authenticationDatabase=admin

部署完毕!!!!!!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值