当前位置: 首页> 娱乐> 八卦 > MongoDB 单机和集群环境部署教程

MongoDB 单机和集群环境部署教程

时间:2025/7/11 1:20:59来源:https://blog.csdn.net/qq_42568323/article/details/141400669 浏览次数:0次

目录

    • 一、MongoDB 单机环境部署
      • 1. 环境准备
      • 2. 安装 MongoDB
        • 2.1 在 Ubuntu 上安装 MongoDB
        • 2.2 在 CentOS 上安装 MongoDB
        • 2.3 启动 MongoDB 服务
        • 2.4 验证 MongoDB 安装
        • 2.5 MongoDB 基本安全设置
      • 3. 单机部署注意事项
    • 二、MongoDB 集群环境部署
      • 1. 环境准备
      • 2. MongoDB Replica Set 部署
        • 2.1 配置每个节点的 MongoDB 实例
        • 2.2 配置 Replica Set
      • 3. 集群部署注意事项
    • 三、MongoDB 使用案例
      • 1. Java 示例:使用 MongoDB Java Driver
        • 1.1 添加 Maven 依赖
        • 1.2 编写 Java 代码
      • 2. Python 示例:使用 `pymongo` 连接 MongoDB
        • 2.1 安装 `pymongo`
        • 2.2 编写 Python 代码
    • 总结
      • 部署过程中的注意事项

一、MongoDB 单机环境部署

1. 环境准备

  • 操作系统:Linux(推荐 Ubuntu 20.04 或 CentOS 7),也可在 Windows 上安装 MongoDB。
  • MongoDB 版本:MongoDB 5.0(推荐使用最新稳定版本)。
  • 硬件要求:至少 2 GB 内存和 20 GB 的硬盘空间。

2. 安装 MongoDB

2.1 在 Ubuntu 上安装 MongoDB
  1. 导入 MongoDB 公共 GPG 密钥

    wget -qO - https://www.mongodb.org/static/pgp/server-5.0.asc | sudo apt-key add -
    
  2. 创建 MongoDB 源列表文件

    echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/5.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-5.0.list
    
  3. 更新本地包数据库并安装 MongoDB

    sudo apt update
    sudo apt install -y mongodb-org
    
2.2 在 CentOS 上安装 MongoDB
  1. 创建 MongoDB 的 YUM 源文件

    echo "[mongodb-org-5.0]
    name=MongoDB Repository
    baseurl=https://repo.mongodb.org/yum/redhat/\$releasever/mongodb-org/5.0/x86_64/
    gpgcheck=1
    enabled=1
    gpgkey=https://www.mongodb.org/static/pgp/server-5.0.asc" | sudo tee /etc/yum.repos.d/mongodb-org-5.0.repo
    
  2. 安装 MongoDB

    sudo yum install -y mongodb-org
    
2.3 启动 MongoDB 服务
sudo systemctl start mongod
sudo systemctl enable mongod
2.4 验证 MongoDB 安装

检查 MongoDB 服务状态:

sudo systemctl status mongod
2.5 MongoDB 基本安全设置
  1. 设置管理员用户

    登录 MongoDB shell:

    mongo
    

    切换到 admin 数据库,并创建管理员用户:

    use admin
    db.createUser({user: "admin",pwd: "adminpassword",roles: [ { role: "root", db: "admin" } ]}
    )
    
  2. 启用认证

    编辑 MongoDB 配置文件 /etc/mongod.conf,启用认证:

    security:authorization: "enabled"
    

    重启 MongoDB 服务:

    sudo systemctl restart mongod
    

3. 单机部署注意事项

  • 安全性:启用用户认证,并限制外部访问 IP。
  • 备份:定期备份数据库,防止数据丢失。
  • 性能优化:根据使用场景调整内存和缓存设置,如 wiredTigerCacheSizeGB
  • 日志管理:配置日志以便于监控和调试。

二、MongoDB 集群环境部署

1. 环境准备

  • 多台服务器:至少 3 台,用于配置 MongoDB Replica Set。
  • 操作系统:Linux(推荐 Ubuntu 20.04 或 CentOS 7)。
  • MongoDB 版本:MongoDB 5.0。

2. MongoDB Replica Set 部署

2.1 配置每个节点的 MongoDB 实例

按照单机环境的安装步骤,在每个节点上安装 MongoDB。

2.2 配置 Replica Set
  1. 编辑 MongoDB 配置文件

    在每台服务器上编辑 /etc/mongod.conf,配置 Replica Set:

    replication:replSetName: "rs0"
    
  2. 启动 MongoDB 服务

    sudo systemctl restart mongod
    
  3. 初始化 Replica Set

    在主节点上启动 MongoDB shell:

    mongo
    

    初始化 Replica Set:

    rs.initiate({_id: "rs0",members: [{ _id: 0, host: "192.168.1.1:27017" },{ _id: 1, host: "192.168.1.2:27017" },{ _id: 2, host: "192.168.1.3:27017" }]
    })
    
  4. 检查 Replica Set 状态

    rs.status()
    

3. 集群部署注意事项

  • 网络配置:确保所有节点之间的网络连接稳定,且防火墙允许相应端口通信。
  • 节点配置一致性:确保每个节点的配置文件一致,特别是 replSetNamebindIp
  • 安全性:启用用户认证,并使用 SSL 进行加密通信。
  • 故障恢复:配置仲裁节点(arbiter)以防止脑裂现象,并定期监控节点状态。

三、MongoDB 使用案例

1. Java 示例:使用 MongoDB Java Driver

1.1 添加 Maven 依赖

pom.xml 中添加 MongoDB Java Driver 依赖:

<dependencies><dependency><groupId>org.mongodb</groupId><artifactId>mongodb-driver-sync</artifactId><version>4.4.0</version></dependency>
</dependencies>
1.2 编写 Java 代码
import com.mongodb.client.MongoClients;
import com.mongodb.client.MongoClient;
import com.mongodb.client.MongoDatabase;
import com.mongodb.client.MongoCollection;
import org.bson.Document;public class MongoDBExample {public static void main(String[] args) {MongoClient mongoClient = MongoClients.create("mongodb://admin:adminpassword@localhost:27017");MongoDatabase database = mongoClient.getDatabase("testdb");MongoCollection<Document> collection = database.getCollection("testcollection");Document doc = new Document("name", "John Doe").append("email", "john.doe@example.com").append("age", 29);collection.insertOne(doc);Document myDoc = collection.find().first();System.out.println(myDoc.toJson());mongoClient.close();}
}

2. Python 示例:使用 pymongo 连接 MongoDB

2.1 安装 pymongo
pip install pymongo
2.2 编写 Python 代码
from pymongo import MongoClientdef query_database():client = MongoClient("mongodb://admin:adminpassword@localhost:27017/")db = client["testdb"]collection = db["testcollection"]doc = {"name": "John Doe", "email": "john.doe@example.com", "age": 29}collection.insert_one(doc)result = collection.find_one()print(result)client.close()if __name__ == "__main__":query_database()

总结

通过以上步骤,我们完成了 MongoDB 的单机和集群环境部署,并实现了 Java 和 Python 的简单连接示例。MongoDB 作为一款 NoSQL 数据库,具备高可扩展性和灵活的数据模型,适用于多种应用场景。

部署过程中的注意事项

  • 安全性:启用用户认证、IP 限制和 SSL 加密,确保数据安全。
  • 性能优化:根据需求调整缓存、索引等配置,提高性能。
  • 备份和恢复:定期备份数据库,并测试恢复过程,防止数据丢失。
  • 监控和日志管理:配置监控工具和日志系统,及时发现和解决问题,保障 MongoDB 的稳定运行。
关键字:MongoDB 单机和集群环境部署教程

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: