Babylon Docs 中文版
by DocsZH
  • 介绍 Babylon
    • Babylon 概述
    • 比特币时间戳
    • 比特币质押
    • Babylon 架构
  • 用户指南
    • 比特币质押主网-阶段 1
      • 后端部署
        • 后端部署概述
        • 基础设施设置
          • MongoDB设置
          • RabbitMQ设置
          • 比特币全节点设置
        • 后端服务设置
          • 质押索引器
          • 质押 API
          • 质押期限检查器
        • 全局系统配置
    • 比特币质押测试网-4
    • 比特币质押测试网-3 (Sunset)
      • 安装
      • 验证器部署概述
      • 区块链网络信息
      • 设置节点
      • 获取测试网代币
      • 成为验证者
      • 成为 Finality 提供商
        • EOTS 管理器
        • Finality 提供商
      • 使用 BTC Staker CLI 进行质押
      • 成为 Babylon 守护者
      • BTC 时间戳集成
  • 开发者指南
    • Babylon 开发模块
      • Epoching 模块
      • 检查点模块
      • BTC 检查点模块
      • BTC 轻客户端模块
      • Zone Concierge 模块
    • Babylon Vigilantes 模块
      • Vigilante 提交者程序
      • Vigilante 报告者程序
      • 检查点监控器程序
    • gRPC 网关 (REST API)
  • Babylon 白皮书
  • 团队支持
  • 常见问题
  • 相关链接
    • Babylon 官方链接
    • DocsZH 相关链接
  • CLI 代码参考
由 GitBook 提供支持
在本页
  • 硬件要求
  • 安装MongoDB
  • 配置MongoDB副本集
  • 创建MongoDB凭证
  • 服务器监控
  1. 用户指南
  2. 比特币质押主网-阶段 1
  3. 后端部署
  4. 基础设施设置

MongoDB设置

上一页基础设施设置下一页RabbitMQ设置

最后更新于6个月前

及时获悉最准确和最新硬件建议,请参考。

该系统需要一个MongoDB副本集集群,用于实现数据冗余和高可用性。

对于生产部署,强烈建议使用多节点集群,以确保最佳性能和稳定性。

硬件要求

  • CPU:多核处理器

  • 内存:单个节点至少 4GB

  • 硬盘:建议使用SSD硬盘,以获得更好的性能

MongoDB代理只支持安装在64位操作系统中。

安装MongoDB

遵循要求,选择合适你操作系统的安装流程。

配置MongoDB副本集

  1. 编辑MongoDB配置文件

sudo vi /etc/mongod.conf
  1. 添加副本集配置

找到replication部分并添加以下代码:

replication:
   replSetName: "rs0"

此过程将指示MongoDB作为指定副本集 (本示例中为rs0 ) 的一部分启动。

  1. 重启MongoDB,以上配置将生效

sudo systemctl restart mongod
  1. 初始化副本集

启动MongoDB shell,并连接到本地端口27017, (localhost - 27017),运行已安装的MongoDB实例。

如果你的MongoDB服务器运行在不同的主机或端口上,可以分别使用--host和--port选项进行指定。

mongosh --host localhost --port 27017

然后,在MongoDB shell中运行下方命令:

rs.initiate()
  1. 验证副本集配置

rs.status()

rs.status()的输出将包括以下信息:

  • Set Name (set):副本集名称

  • 成员 (成员):副本集成员列表 (成员阵列),包含hostname (主机名)、state (状态)、health (健康状况)、uptime (运行时间)、last heartbeat message (最后heartbeat消息) 等详细信息。

以下是一个简化示例,用于展示输出结果:

  set: 'rs0',
  members: [
    {
      _id: 0,
      name: '127.0.0.1:27017',
      health: 1,
      state: 1,
      stateStr: 'PRIMARY',
      uptime: 1202009,
      optime: { ts: Timestamp({ t: 1721191458, i: 1 }), t: Long('1') },
      optimeDate: ISODate('2024-07-17T04:44:18.000Z'),
      lastAppliedWallTime: ISODate('2024-07-17T04:44:18.441Z'),
      lastDurableWallTime: ISODate('2024-07-17T04:44:18.441Z'),
      syncSourceHost: '',
      syncSourceId: -1,
      infoMessage: '',
      electionTime: Timestamp({ t: 1719989484, i: 2 }),
      electionDate: ISODate('2024-07-03T06:51:24.000Z'),
      configVersion: 1,
      configTerm: 1,
      self: true,
      lastHeartbeatMessage: ''
    }
  ]

创建MongoDB凭证

服务器稍后将使用这些确切的凭证连接到队列。

启动MongoDB shell,并连接到本地端口27017, (localhost - 27017),运行已安装的MongoDB实例。

如果你的MongoDB服务器运行在不同的主机或端口上,可以分别使用--host和--port选项进行指定。

mongosh --host localhost --port 27017

在MongoDB shell中,运行下方命令创建新用户:

use admin
db.createUser({
  user: "<username>",
  pwd: "<password>",
  roles: [ { role: "readWrite", db: "<database>" } ]
})

你可以自定义<username> (用户名)、 <password>(密码)和<database>(数据库名称)。

服务器监控

可通过轮询MongoDB服务器的可用性。

MongoDB特定的Prometheus指标也可以通过任何开源来公开。

MongoDB官方文档
MongoDB官方安装文档
Prometheus Blackbox Exporter
Prometheus MongoDB导出器