当前位置: 首页 > wzjs >正文

佛山小学网站建设成都网络营销公司

佛山小学网站建设,成都网络营销公司,自己怎么做免费网站,旅游门户网站建设方案在一台服务器上搭建 MongoDB 副本集(1 主节点 2 从节点)可以通过运行多个 MongoDB 实例并使用不同端口和数据目录来实现。以下是详细步骤: 1. 准备工作 确保已安装 MongoDB。为每个实例创建独立的数据目录和日志文件。 2. 创建数据目录和…

在一台服务器上搭建 MongoDB 副本集(1 主节点 + 2 从节点)可以通过运行多个 MongoDB 实例并使用不同端口和数据目录来实现。以下是详细步骤:

1. 准备工作

  • 确保已安装 MongoDB。
  • 为每个实例创建独立的数据目录和日志文件。

2. 创建数据目录和日志文件

为每个节点创建独立的数据目录和日志文件。

mkdir -p /data/db{1,2,3}
touch /var/log/mongodb{1,2,3}.log
chmod 777 /var/log/mongodb{1,2,3}.log

演示

3. 配置 MongoDB 实例

为每个实例创建独立的配置文件。

主节点配置文件 (mongod1.conf):

storage:dbPath: /data/db1
systemLog:destination: filepath: /var/log/mongodb1.loglogAppend: true
net:bindIp: 127.0.0.1port: 27017
replication:replSetName: rs0
processManagement:fork: true

演示如下

systemLog:destination: filepath: "/usr/local/mongodb/logs/mongodb.log"logAppend: truestorage:dbPath: "/usr/local/mongodb/data"engine: wiredTigerwiredTiger:engineConfig:cacheSizeGB: 2journal:commitIntervalMs: 100net:port: 27017bindIp: "0.0.0.0"replication:replSetName: rs0processManagement:fork: true

从节点 1 配置文件 (mongod2.conf):

storage:dbPath: /data/db2
systemLog:destination: filepath: /var/log/mongodb2.loglogAppend: true
net:bindIp: 127.0.0.1port: 27018
replication:replSetName: rs0
processManagement:fork: true

演示如下

systemLog:destination: filepath: "/usr/local/mongodb/logs2/mongodb.log"logAppend: truestorage:dbPath: "/usr/local/mongodb/data2"engine: wiredTigerwiredTiger:engineConfig:cacheSizeGB: 2journal:commitIntervalMs: 100net:port: 27018bindIp: "0.0.0.0"replication:replSetName: rs0processManagement:fork: true

从节点 2 配置文件 (mongod3.conf):

storage:dbPath: /data/db3
systemLog:destination: filepath: /var/log/mongodb3.loglogAppend: true
net:bindIp: 127.0.0.1port: 27019
replication:replSetName: rs0
processManagement:fork: true

演示如下

systemLog:destination: filepath: "/usr/local/mongodb/logs3/mongodb.log"logAppend: truestorage:dbPath: "/usr/local/mongodb/data3"engine: wiredTigerwiredTiger:engineConfig:cacheSizeGB: 2journal:commitIntervalMs: 100net:port: 27019bindIp: "0.0.0.0"replication:replSetName: rs0processManagement:fork: true

4. 启动 MongoDB 实例

使用配置文件启动三个 MongoDB 实例。

mongod -f /path/to/mongod1.conf
mongod -f /path/to/mongod2.conf
mongod -f /path/to/mongod3.conf

 演示如下

#启动
mongod --config /usr/local/mongodb/etc/mongod.conf --fork #后台进程运行
mongod --config /usr/local/mongodb/etc2/mongod.conf --fork #后台进程运行
mongod --config /usr/local/mongodb/etc3/mongod.conf --fork #后台进程运行#关闭
mongod --shutdown -f /usr/local/mongodb/etc/mongod.conf
mongod --shutdown -f /usr/local/mongodb/etc2/mongod.conf
mongod --shutdown -f /usr/local/mongodb/etc3/mongod.conf

启动效果如下

5. 初始化副本集

连接到主节点(27017 端口),初始化副本集。

mongo --port 27017

演示如下

mongosh "mongodb://localhost:27017"

在 MongoDB Shell 中执行:

rs.initiate({_id: "rs0",members: [{ _id: 0, host: "127.0.0.1:27017" },{ _id: 1, host: "127.0.0.1:27018" },{ _id: 2, host: "127.0.0.1:27019" }]
})

演示如下

rs.initiate({_id: "rs0",members: [{ _id: 0, host: "127.0.0.1:27017" },{ _id: 1, host: "127.0.0.1:27018" },{ _id: 2, host: "127.0.0.1:27019" }]
})

 执行效果如下

6. 检查副本集状态

初始化后,检查副本集状态。

rs.status()

输出应显示 1 个 PRIMARY 和 2 个 SECONDARY 节点。

演示如下

 

7. 验证数据同步

在主节点插入数据,检查从节点是否同步。

主节点插入数据:

use testdb
db.testcollection.insert({ name: "example" })

从节点查询数据:

mongo --port 27018

演示如下

mongosh "mongodb://localhost:27018"

在 MongoDB Shell 中执行:

rs.secondaryOk()  # 允许从节点读取 mongodb 7
db.testcollection.find()

说明:

  • rs.secondaryOk() 允许当前会话从次要节点读取数据。
  • 如果你希望所有会话都默认允许从次要节点读取数据,可以在连接字符串中添加 readPreference=secondary 参数。

连接字符串示例

mongodb://host1:27017,host2:27017,host3:27017/myDatabase?readPreference=secondary

通过这种方式,你可以确保应用程序从次要节点读取数据,从而分担主节点的负载。

8. 停止和清理

如果需要停止副本集,可以使用以下命令:

mongod --dbpath /data/db1 --shutdown
mongod --dbpath /data/db2 --shutdown
mongod --dbpath /data/db3 --shutdown

清理数据目录和日志文件:

rm -rf /data/db{1,2,3}
rm -f /var/log/mongodb{1,2,3}.log

总结

通过以上步骤,您可以在单台服务器上成功搭建一个 MongoDB 副本集(1 主 2 从)。这种方法适合本地开发和测试,但在生产环境中建议使用多台服务器以实现高可用性。

http://www.dtcms.com/wzjs/61147.html

相关文章:

  • 网站登录验证码不显示百度商务合作联系
  • 网站建设 功能需求网站seo规划
  • 在哪找做调查赚钱的网站好重庆网站seo好不好
  • 网站制作视频教程全套免费申请网站
  • 南京做网站营销广州做seo的公司
  • 网站制作公司有哪些证游戏推广话术
  • 杭州哪里做网站好seo按天计费系统
  • 小男孩与大人做的网站重庆网站建设技术外包
  • 新网站前期seo怎么做网站联盟广告
  • flash网站开发百度推广入口登录
  • 十大免费软件下载seox
  • 武汉建设深圳搜索引擎优化的简称是
  • 西安的网站建设网站seo外包公司专家
  • 怀集建设房管部门网站免费网站推广软件下载
  • 雅茂道网站建设大连网站seo
  • 无锡网站建设设计seo基础入门
  • 重庆建设工程网站黄冈网站推广软件
  • 写出网站版面布局设计步骤深圳市网络营销推广服务公司
  • 做网站建设的利润网络推广营销方式
  • 美国做网站北京seo学校
  • 服务器分配网络提高网站访问速度营销的主要目的有哪些
  • 网站建设书籍推荐网站制作策划书
  • 做网站的作品思路及步骤产品市场调研怎么做
  • 网站促销活动策划武汉seo人才
  • 网络推广工具有哪些seo信息查询
  • 建网站 教程如何在网上推广自己的公司
  • 百度网盘做视频网站网络营销的特点和优势
  • 哪家网络公司做网站好百度商务合作联系
  • HTML5怎么做自适应网站市场营销试题库(带答案)
  • 郑州的网站建设公司哪家好企业网站优化服务公司