MongoDB在Debian上如何进行集群搭建

在debian上搭建mongodb集群涉及多个步骤,包括安装、配置、启动各个组件以及设置副本集和分片。以下是一个基本的指南:
1. 安装MongoDB
首先,确保你的Debian系统是最新的,然后安装MongoDB。
1 2 3 | sudo apt update sudo apt upgrade sudo apt install -y mongodb |
2. 配置MongoDB实例
为每个节点创建存放数据、配置文件、日志的目录。
1 2 3 | sudo mkdir -p /data/db sudo mkdir -p /var/log/mongodb sudo mkdir -p /etc/mongodb |
3. 配置config server副本集
编辑config server的配置文件:
1 | sudo vim /etc/mongodb/config.conf |
内容如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | systemLog: destination: file logAppend: true path: /var/log/mongodb/config.log
storage: dbPath: /data/db journal: enabled: true
processManagement: fork: true pidFilePath: /var/run/mongodb/mongod.pid
net: port: 21000 bindIp: 0.0.0.0 |
启动config server:
1 | sudo mongod --config /etc/mongodb/config.conf |
初始化config server副本集:
1 | mongo --host 10.10.3.134 --port 21000 |
在mongo shell中执行:
1 2 | config = {_id : "config", members : [{_id : 0, host : "10.10.3.134:21000" }, {_id : 1, host : "10.10.3.135:21000" }, {_id : 2, host : "10.10.3.136:21000" }]} rs.initiate(config) |
4. 配置shard1 server副本集
编辑shard1的配置文件:
1 | sudo vim /etc/mongodb/shard1.conf |
内容如下:
1 2 3 4 5 6 7 8 9 | systemLog: destination: file logAppend: true path: /var/log/mongodb/shard1.log
storage: dbPath: /data/db journal: enabled: true |
启动shard1:
1 | sudo mongod --config /etc/mongodb/shard1.conf |
5. 配置mongos路由器
编辑mongos的配置文件:
1 | sudo vim /etc/mongodb/mongos.conf |
内容如下:
1 2 3 4 5 6 7 8 9 10 11 12 | systemLog: destination: file logAppend: true path: /var/log/mongodb/mongos.log
storage: dbPath: /data/db journal: enabled: true
sharding: clusterRole: configsvr |
启动mongos:
1 | sudo mongos --configdb 10.10.3.134:21000,10.10.3.135:21000,10.10.3.136:21000 --port 20000 |
6. 添加shard到集群
在mongos shell中添加shard:
1 | mongo --host 10.10.3.134 --port 20000 |
1 2 3 | sh.addShard("10.10.3.134:27001") sh.addShard("10.10.3.135:27002") sh.addShard("10.10.3.136:27003") |
7. 验证集群状态
使用以下命令验证集群状态:
1 | mongo --host 10.10.3.134 --port 20000 |
1 | sh.status() |
以上步骤提供了一个基本的MongoDB集群搭建流程。根据实际需求,你可能需要调整配置和增加更多的节点。
-
WatchDog.NET开源且功能强大的实时应用监控系统
WatchDog是一个开源(MIT License)、免费、针对ASP.Net Core Web应用程序和API的实时应用监控系统。开发者可以实时记录和查看他们的应用程序中的消息、事件、HTTP请求和
-
Navicat Premium Lite个体开发者等用户的实用选择。
前不久Navicat官方推出了可免费使用的Navicat的精简版:Navicat Premium Lite。Navicat Premium Lite 可用于商业和非商业目的,使其成为从小型企业到个体开
-
XIAOJUSURVEY滴滴开源的一款轻量、安全的调研系统
XIAOJUSURVEY是由滴滴出行开源的一款轻量、安全的调研系统,主要提供面向个人和企业的一站式产品级解决方案,用于构建各类问卷、考试、测评和复杂表单,快速满足各类线上调研场景。项目特点内部系统已沉
[广告]赞助链接:
关注数据与安全,洞悉企业级服务市场:https://www.ijiandao.com/
让资讯触达的更精准有趣:https://www.0xu.cn/

随时掌握互联网精彩
- 乌克兰黑客渗透到俄罗斯网络提供商Nodex后将其所有数据全部清空
- gStore面向RDF知识图谱的原生图数据库系统
- mqtt协议适合传输音视频数据吗
- 沪上见新潮,华为旗舰店·上海前滩太古里盛大开业
- 被 Google 裁掉的 Golden 12K:开源开发者成重灾区,61 岁再求职!
- 2022 SDC 议题 | 基于硬件虚拟化技术的新一代二进制分析利器
- 第四届“Real World CTF”国际网络安全大赛战火重燃!
- 看雪·众安 KCTF赛况直播 | 第4题《偶遇棋痴》辣鸡战队成功拿下“一血”!
- 10月13日,告别开源项目 LayUI
- Qualcomm招聘|本月热招职位,点燃夏日激情探索未来
- 聊聊 HTTP 常见的请求方式
- 免费的SSL证书管用吗?免费和收费的区别是什么?