温馨提示×

mongodb怎么配debian副本

小樊
35
2026-09-17 14:39:57
栏目: 云计算

下面给你一个在 Debian 上配置 MongoDB 副本集(Replica Set)的实用步骤,适用于MongoDB 5.x / 6.x / 7.x(社区版)。


一、环境准备

假设有 3 台 Debian 服务器(推荐奇数节点):

主机名 IP
mongo1 192.168.1.11
mongo2 192.168.1.12
mongo3 192.168.1.13

如果是单机测试,也可在一台机器用不同端口模拟


二、安装 MongoDB(每台机器)

1. 导入 MongoDB 源(以 6.0 为例)

sudo apt update
sudo apt install -y gnupg curl

curl -fsSL https://pgp.mongodb.com/server-6.0.asc | \
  sudo gpg -o /usr/share/keyrings/mongodb-server-6.0.gpg --dearmor

echo "deb [ signed-by=/usr/share/keyrings/mongodb-server-6.0.gpg ] \
https://repo.mongodb.org/apt/debian $(lsb_release -cs)/mongodb-org/6.0 main" | \
  sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list

2. 安装

sudo apt update
sudo apt install -y mongodb-org

三、配置 MongoDB 副本集

1. 修改配置文件

编辑 /etc/mongod.conf

storage:
  dbPath: /var/lib/mongodb

systemLog:
  destination: file
  path: /var/log/mongodb/mongod.log
  logAppend: true

net:
  bindIp: 0.0.0.0
  port: 27017

replication:
  replSetName: rs0

replSetName 所有节点必须一致

2. 重启服务

sudo systemctl restart mongod
sudo systemctl enable mongod

四、初始化副本集(只需在一台执行)

mongo

(MongoDB 6+ 可用 mongosh

rs.initiate({
  _id: "rs0",
  members: [
    { _id: 0, host: "192.168.1.11:27017" },
    { _id: 1, host: "192.168.1.12:27017" },
    { _id: 2, host: "192.168.1.13:27017" }
  ]
})

查看状态:

rs.status()

五、验证副本集

主节点写入

use test
db.user.insert({name:"abc"})

从节点读取(需先执行)

rs.secondaryOk()
db.user.find()

六、常见问题

1. 无法连接

  • 防火墙开放 27017
  • bindIp 不要只写 127.0.0.1

2. 主机名解析问题

建议在 /etc/hosts 添加:

192.168.1.11 mongo1
192.168.1.12 mongo2
192.168.1.13 mongo3

并使用主机名配置副本集

3. 单机多实例(测试)

mongod --port 27018 --dbpath /data2 --replSet rs0

七、生产建议

  • 至少 3 节点
  • 开启 auth + keyFile
  • 使用 systemd 管理
  • 定期备份(mongodump / oplog)

如果你需要:

  • 带账号认证的副本集
  • Docker 部署
  • Debian + MongoDB 7
  • 单机伪集群

告诉我你的具体场景,我可以直接给你完整配置。

0