debian

MongoDB在Debian上的集群搭建步骤是什么

小樊
42
2025-06-12 00:24:20
栏目: 云计算

在Debian上搭建MongoDB集群可以分为以下几个步骤:

  1. 安装MongoDB

    • 更新系统软件包:
      sudo apt update && sudo apt upgrade -y
      
    • 导入MongoDB官方GPG密钥:
      wget -qO - https://www.mongodb.org/static/pgp/server-6.0.asc | sudo apt-key add -
      
    • 创建MongoDB列表文件:
      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
      
    • 更新APT包数据库:
      sudo apt update
      
    • 安装MongoDB:
      sudo apt install -y mongodb-org
      
  2. 配置MongoDB实例

    • 在每个节点上创建存放数据、配置文件、日志的目录:
      sudo mkdir -p /var/lib/mongodb
      sudo mkdir -p /var/log/mongodb
      
    • 编辑MongoDB配置文件 /etc/mongod.conf,配置必要的参数,例如:
      net:
        port: 27017
        bindIp: 0.0.0.0
      replication:
        replSetName: "rs0"
      storage:
        dbPath: /var/lib/mongodb
      systemLog:
        destination: file
        logAppend: true
        path: /var/log/mongodb/mongod.log
      
    • 启动MongoDB服务并设置为开机自启动:
      sudo systemctl start mongod
      sudo systemctl enable mongod
      
  3. 创建并配置副本集

    • 连接到其中一个MongoDB节点的shell:
      mongo --host node1_ip --port 27017
      
    • 初始化副本集:
      rs.initiate({
        _id: "rs0",
        members: [
          { _id: 0, host: "node1_ip:27017" },
          { _id: 1, host: "node2_ip:27017" },
          { _id: 2, host: "node3_ip:27017" }
        ]
      })
      
    • 在其他节点上添加到副本集:
      rs.add("node4_ip:27017")
      rs.add("node5_ip:27017")
      
  4. 配置分片集群

    • 在每个分片服务器上创建数据目录:
      sudo mkdir -p /data/db
      
    • 初始化分片副本集:
      mongo --host shard-server1:27017
      rs.initiate({
        _id: "shard1",
        members: [
          { _id: 0, host: "shard-server1:27017" },
          { _id: 1, host: "shard-server2:27017" },
          { _id: 2, host: "shard-server3:27017" }
        ]
      })
      
    • 配置配置服务器副本集:
      mongo --host config-server1:27017
      rs.initiate({
        _id: "configReplSet",
        configsvr: true,
        members: [
          { _id: 0, host: "config-server1:27017" },
          { _id: 1, host: "config-server2:27017" },
          { _id: 2, host: "config-server3:27017" }
        ]
      })
      
    • 启动mongos路由器:
      mongo --host mongos-host:27017
      sh.addShard("shard1/shard-server1:27017,shard-server2:27017,shard-server3:27017")
      sh.addConfigServer("config-server1:27017,config-server2:27017,config-server3:27017")
      
  5. 验证集群状态

    • 使用以下命令检查集群状态:
      sh.status()
      

0
看了该问题的人还看了