美文网首页
宝塔面板 部署Mongodb 副本集 纯干货

宝塔面板 部署Mongodb 副本集 纯干货

作者: superSK | 来源:发表于2024-04-02 16:21 被阅读0次

1. 在mongodb文件目录创建对应的几份副本文件

1份副本集文件需要新建:1个data文件夹,1个log文件夹,1个congfig启动配置文件

我这里是创建1主2从副本集,所有需要额外新建2份,如图:

image.png

config.conf 内容:

image.png

config1.conf 内容:

image.png

config2.conf 内容:

image.png

2. 初始化副本集群

1.先启动主mongodb实例
sudo mongod -f config.conf
注意:宝塔终端运行此命令,前面的sudo一定要加,如果运行失败,查看/data目录下是否有mongod.lock文件,删之后重新运行此命令

2.连接主数据集
mongosh -port 9999

3.运行:
config={
_id : "rs0",
members: [
{ _id: 0, host: "127.0.0.1:9999",priority:3 },
{ _id: 1, host: "127.0.0.1:9997",priority:2 },
{ _id: 2, host: "127.0.0.1:9998",priority:1}
]
}
回车确认
再执行指令rs.initiate(config)
至此副本集初始化完成

3. 开启集群权限

1.先关闭所有Mongodb:

当前副本数据集执行命令:db.shutdownServer()

2.修改3个启动文件config.conf、config1.conf 、conf2,conf:

config1.conf:

image.png

config2.conf:

image.png

config3.conf:

image.png

3.生成keyFile(副本集之间权限验证方式) 文件:

keyFile文件生成:

先手动先在宝塔面板,mongodb文件夹目录下创建key.txt 空文件
运行命令:

  1. openssl rand -base64 756 > key.txt
    我这里在mongodb文件夹根目录,此文件存放在与bin目录同级即可
  2. 修改此文件权限
    宝塔终端运行 sudo chmod 600 key.txt
    注意:权限只能是 600, 高或者低都会出错
    如果命令一直提示失败,可手动点击权限修改值为600...
    image.png
    image.png

4. 启动这3个mongodb 实例(副本集)

sudo mongod -f config.conf
sudo mongod -f config1.conf
sudo mongod -f config2.conf
宝塔终端运行此命令,前面的sudo一定要加,如果运行失败,检查这3个数据集目录/data,/data1,/data2是否有mongod.lock文件,有则删除重新运行上面的命令

注:主副本实例可读写,2从副本只可读,不能写。

连接数据集方式有2种:

  1. shell命令:
    读的权限在从副本每次启动数据集后运行命令:
    rs.secondaryOk(),方可正常读数据。

  2. 工具 url方式连接,后缀带 readPreference=secondary 效果同上:

可视化工具 - Mongodb Compass 连接

image.png

开发工具连接

image.png

相关文章

网友评论

      本文标题:宝塔面板 部署Mongodb 副本集 纯干货

      本文链接:https://www.haomeiwen.com/subject/vcuwtjtx.html