总结一下windows 64 mongoDB 集群
至少要求三个mongo ,本次搞了四个 ,后面又在另外一个实例中增加一个,步骤1: 新建文件夹:data用的 E:/diange/MongoDB/data/b/r1 E:/diange/MongoDB/data/b/r2 E:/diange/MongoDB/data/b/r3 E:/diange/MongoDB/data/b/r4 新建文件夹:给logs用的 E:/diange/MongoDB/logs/b 2、这里需要打开4个cmd窗口分别 cd到同一个实例下启动mongo mongod --dbpath E:/diange/MongoDB/data/b/r1 --port 27108 --replSet myrepl --logappend --logpath E:/diange/MongoDB/logs/b/r1.log --oplogSize 64 mongod --dbpath E:/diange/MongoDB/data/b/r2 --port 27109 --replSet myrepl --logappend --logpath E:/diange/MongoDB/logs/b/r2.log --oplogSize 64 mongod --dbpath E:/diange/MongoDB/data/b/r3 --port 27110 --replSet myrepl --logappend --logpath E:/diange/MongoDB/logs/b/r3.log --oplogSize 64 mongod --dbpath E:/diange/MongoDB/data/b/r4 --port 27111 --replSet myrepl --logappend --logpath E:/diange/MongoDB/logs/b/r4.log --oplogSize 64 3、新打开一个cmd窗口,cd到mongo文件夹bin目录下,输入命令,链接任意一个启动的mongo 命令如下:mongo 172.16.90.29:27108 4、然后输入命令设置集群配置 var myrepl={ _id:'myrepl', members:[ {_id:0, host:'172.16.90.29:27108'}, {_id:1, host:'172.16.90.29:27109'}, {_id:2, host:'172.16.90.29:27110'}, {_id:3, host:'172.16.90.29:27111'}] } rs.initiate(myrepl); 5、验证集群配置 输入命令rs.status(); 查看集群状态 结果如下: myrepl:PRIMARY> rs.status(); { "set" : "myrepl", "date" : ISODate("2015-05-19T10:14:29Z"), "myState" : 1, "members" : [ { "_id" : 0, "name" : "172.16.90.29:27108", "health" : 1, "state" : 2, "stateStr" : "SECONDARY", "uptime" : 322, "optime" : Timestamp(1432030448, 1), "optimeDate" : ISODate("2015-05-19T10:14:08Z"), "lastHeartbeat" : ISODate("2015-05-19T10:14:29Z"), "lastHeartbeatRecv" : ISODate("2015-05-19T10:14:28 "pingMs" : 0, "syncingTo" : "172.16.90.29:27110" }, { "_id" : 1, "name" : "172.16.90.29:27109", "health" : 1, "state" : 2, "stateStr" : "SECONDARY", "uptime" : 433, "optime" : Timestamp(1432030448, 1), "optimeDate" : ISODate("2015-05-19T10:14:08Z"), "lastHeartbeat" : ISODate("2015-05-19T10:14:28Z"), "lastHeartbeatRecv" : ISODate("2015-05-19T10:14:28 "pingMs" : 0, "syncingTo" : "172.16.90.29:27110" }, { "_id" : 2, "name" : "172.16.90.29:27110", "health" : 1, "state" : 1, "stateStr" : "PRIMARY", "uptime" : 435, "optime" : Timestamp(1432030448, 1), "optimeDate" : ISODate("2015-05-19T10:14:08Z"), "electionTime" : Timestamp(1432030115, 1), "electionDate" : ISODate("2015-05-19T10:08:35Z"), "self" : true }, { "_id" : 3, "name" : "172.16.90.29:27111", "health" : 1, "state" : 2, "stateStr" : "SECONDARY", "uptime" : 21, "optime" : Timestamp(1432030448, 1), "optimeDate" : ISODate("2015-05-19T10:14:08Z"), "lastHeartbeat" : ISODate("2015-05-19T10:14:28Z"), "lastHeartbeatRecv" : ISODate("2015-05-19T10:14:29 "pingMs" : 0, "syncingTo" : "172.16.90.29:27110" } ], "ok" : 1 } 6、如果需要新增节点的话,也可以cd 到新的实例下或者在相同的实例下,重复上述步骤如下: 新开cmd窗口 cd 到 e:/zxdg/mongo/bin mongod --dbpath E:/点歌/MongoDB/data/b/r5 --port 27112 --replSet myrepl --logappend --logpath E:/diange/MongoDB/logs/b/r4.log --oplogSize 64
链接任意的一个mongo, mongo 172.16.90.29:27108 链接成功后,rs.status(); 查一下哪个节点是主节点,然后,退出当前节点的连接,然后连接主节点输入一下内容 重新设置集群参数 var myrepl={ _id:'myrepl', members:[ {_id:0, host:'172.16.90.29:27108'}, {_id:1, host:'172.16.90.29:27109'}, {_id:2, host:'172.16.90.29:27110'}, {_id:3, host:'172.16.90.29:27111'}, {_id:4, host:'172.16.90.29:27112'}] } rs.reconfig(myrepl); 然后验证就可以了 注意:代码里连mongo时,如果链接没有try,primary节点关闭的话,会报异常,关闭secondary 节点不会有影响 所以,还是要在获取mongo连接时,try catch一下,这样不管你关哪个节点,程序都能正常执行 有很多命令可以用,上网搜一下即可
linux环境的集群方式,参照:
http://blog.csdn.net/luonanqin/article/details/8497860
博客写的很详细
相关推荐
### MongoDB集群搭建详解 #### 一、概述 MongoDB 是一款非常流行的开源文档数据库系统,以其灵活的数据模型、高可用性和可扩展性而受到广泛欢迎。对于需要处理大量数据的应用程序来说,MongoDB 的集群技术提供了...
由于公司业务需要,我们打算自己搭建 MongoDB 的服务,因为 MongoDB 的云数据库好贵,我们这次采用副本集的方式来搭建集群,三台服务器,一主、一副、一仲裁 基本概念 Replica Set 副本集:一个副本集就是一组 ...
本示例主要介绍如何在Windows环境下搭建一个单机版的MongoDB分片式集群,为理解分布式集群的工作原理提供了实践平台。 首先,我们来了解"分片"这一概念。在MongoDB中,分片(Sharding)是解决大数据存储和查询性能...
带有Docker Compose的演示Mongo分片集群 PSS样式(小学-中学-中学) 需要PSA吗? 检查 警告(Windows和OS X) Windows和OS X上的默认Docker设置使用VirtualBox VM托管Docker守护程序。 不幸的是,VirtualBox用于在...
在描述中提到“可以集群”,意味着这个版本的MongoDB支持在Windows环境下搭建和管理集群。 在实际操作中,可以通过“mongod”命令启动MongoDB服务器,通过“mongo”命令进入MongoDB shell进行交互式查询。对于集群...
要搭建一个副本集,首先需要启动至少两个 MongoDB 服务。例如,在两个不同的端口上启动两个 MongoDB 实例: ```bash # 第一个节点(主节点) mongod --bind_ip 0.0.0.0 --port 27018 --logpath /var/log/mongodb/...
通过实际操作,例如创建数据库、插入和查询文档,搭建复制集和分片集群,将理论知识转化为实际技能,能够更好地理解和应用MongoDB在项目中的价值。 总之,这个资源包为MongoDB的学习提供了一个很好的起点,无论你是...
分片是一种水平扩展数据存储的方式,MongoDB文档中详细介绍了分片的原理、操作、以及如何搭建和管理分片集群。分片技术使得数据库能够支持大规模数据和高并发的访问需求。 除此之外,文档中还包含了关于MongoDB的...
- **集群搭建**:指导用户如何搭建一个分片集群环境。 - **数据迁移**:介绍了如何将现有数据迁移到分片集群中的方法。 #### 分片参考 - **配置选项**:列出了所有与分片相关的配置项及其默认值。 - **工具支持**...
MongoDB提供了详细的副本集教程,包括如何搭建副本集、如何配置成员等。 ##### 9.4 复制参考 此外,还有详细的复制参考文档,涵盖了所有与复制相关的配置选项和命令。 #### 十、分片 分片是一种水平分割数据的...