debian

MongoDB在Debian上的集群怎么搭建

小樊
40
2025-06-18 00:54:22
栏目: 云计算

在Debian上搭建MongoDB集群涉及多个步骤,包括安装MongoDB、配置副本集(Replica Set)以及设置高可用性(如果需要)。以下是详细的步骤指南:

1. 安装MongoDB

首先,确保系统是最新的:

sudo apt update && sudo apt upgrade -y

安装必要的依赖包:

sudo apt install -y libcurl4 openssl liblzma5 gnupg

添加MongoDB官方仓库:

对于Debian 11(Bullseye):

wget -qO - https://www.mongodb.org/static/pgp/server-6.0.asc | sudo apt-key add -
echo "deb [archamd64,arm64] https://repo.mongodb.org/apt/debian bullseye/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list

对于Debian 10(Buster):

wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -
echo "deb http://repo.mongodb.org/apt/debian buster/mongodb-org/4.4 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list

更新APT包索引:

sudo apt update

安装MongoDB:

sudo apt install -y mongodb-org

2. 配置MongoDB副本集

创建密钥文件

openssl rand -base64 756 > mongodb-keyfile
sudo chmod 600 mongodb-keyfile

复制密钥文件到所有节点

scp mongodb-keyfile username@remotehost:/path/to/mongodb-keyfile

配置MongoDB使用密钥文件

编辑 /etc/mongod.conf 文件,添加或修改以下配置项:

security:
  keyFile: /path/to/mongodb-keyfile

初始化副本集

在主节点上执行:

mongod --port 27017 --dbpath /data/db1 --replSet myReplicaSet

连接到主节点(Primary):

mongo --port 27017

运行以下命令初始化副本集:

rs.initiate(
  {
    _id: "myReplicaSet",
    members: [
      { _id: 0, host: "node1:27017" },
      { _id: 1, host: "node2:27017" },
      { _id: 2, host: "node3:27017" , arbiterOnly: true }
    ]
  }
)

添加其他节点

在其他节点上执行:

mongo --host node2:27017 rs.add("node3:27017")

验证副本集状态

在mongo shell中运行以下命令查看副本集状态:

rs.status()

3. 搭建高可用集群(可选)

配置复制集

确保所有节点都已加入同一个复制集。

配置Config Server

在任意一个节点上执行:

mongod --configsvr --replSet rs0 --dbpath /data/configdb --port 27019

搭建mongos

在任意一个节点上执行:

mongos --configdb rs0/node1:27019,node2:27019,node3:27019 --port 27017

添加分片

mongos> sh.addShard("rs0/node1:27010,node2:27010,node3:27010")

验证集群状态

mongos> sh.status()

以上步骤提供了在Debian上搭建MongoDB副本集和高可用集群的基本流程。根据实际需求,您可能还需要进行更多的配置和优化。

0
看了该问题的人还看了