`

Windows环境下Mongo副本集群搭建

 
阅读更多

总结一下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

 

博客写的很详细

分享到:
评论

相关推荐

    monggodb集群搭建文档

    ### MongoDB集群搭建详解 #### 一、概述 MongoDB 是一款非常流行的开源文档数据库系统,以其灵活的数据模型、高可用性和可扩展性而受到广泛欢迎。对于需要处理大量数据的应用程序来说,MongoDB 的集群技术提供了...

    Docker 搭建集群MongoDB的实现步骤

    由于公司业务需要,我们打算自己搭建 MongoDB 的服务,因为 MongoDB 的云数据库好贵,我们这次采用副本集的方式来搭建集群,三台服务器,一主、一副、一仲裁 基本概念 Replica Set 副本集:一个副本集就是一组 ...

    colony(自己做的MongoDb分片式集群搭建配置).rar

    本示例主要介绍如何在Windows环境下搭建一个单机版的MongoDB分片式集群,为理解分布式集群的工作原理提供了实践平台。 首先,我们来了解"分片"这一概念。在MongoDB中,分片(Sharding)是解决大数据存储和查询性能...

    mongodb-cluster-docker-compose:演示一个简单的分片的Mongo集群,并使用docker compose复制

    带有Docker Compose的演示Mongo分片集群 PSS样式(小学-中学-中学) 需要PSA吗? 检查 警告(Windows和OS X) Windows和OS X上的默认Docker设置使用VirtualBox VM托管Docker守护程序。 不幸的是,VirtualBox用于在...

    Mongodb-win32-x86_64-2008plus-2.6.7.rar

    在描述中提到“可以集群”,意味着这个版本的MongoDB支持在Windows环境下搭建和管理集群。 在实际操作中,可以通过“mongod”命令启动MongoDB服务器,通过“mongo”命令进入MongoDB shell进行交互式查询。对于集群...

    Mongodb副本集和分片示例详解

    要搭建一个副本集,首先需要启动至少两个 MongoDB 服务。例如,在两个不同的端口上启动两个 MongoDB 实例: ```bash # 第一个节点(主节点) mongod --bind_ip 0.0.0.0 --port 27018 --logpath /var/log/mongodb/...

    mongoDB jar包 ,服务安装包,学习资料

    通过实际操作,例如创建数据库、插入和查询文档,搭建复制集和分片集群,将理论知识转化为实际技能,能够更好地理解和应用MongoDB在项目中的价值。 总之,这个资源包为MongoDB的学习提供了一个很好的起点,无论你是...

    MongoDB-manual-2.4.4

    分片是一种水平扩展数据存储的方式,MongoDB文档中详细介绍了分片的原理、操作、以及如何搭建和管理分片集群。分片技术使得数据库能够支持大规模数据和高并发的访问需求。 除此之外,文档中还包含了关于MongoDB的...

    MongoDB-manual

    - **集群搭建**:指导用户如何搭建一个分片集群环境。 - **数据迁移**:介绍了如何将现有数据迁移到分片集群中的方法。 #### 分片参考 - **配置选项**:列出了所有与分片相关的配置项及其默认值。 - **工具支持**...

    MongoDB手册

    MongoDB提供了详细的副本集教程,包括如何搭建副本集、如何配置成员等。 ##### 9.4 复制参考 此外,还有详细的复制参考文档,涵盖了所有与复制相关的配置选项和命令。 #### 十、分片 分片是一种水平分割数据的...

Global site tag (gtag.js) - Google Analytics