`
isiqi
  • 浏览: 16353328 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

MongoDB集群相关资料收藏 配置MongoDB集群

阅读更多

MongoDB分布式部署

http://hi.baidu.com/lzpsky/blog/item/d59af4276c73c50f908f9d5d.html

配置MongoDB集群

http://blog.csdn.net/duck_genuine/archive/2010/10/09/5929743.aspx

MongoDB replica Set配置说明

MongoDB在1.6版本对开发了新功能replica set,这比之前的replication功能要强大一些,auto shard已经明确说明不支持replication paris,建议使用replica set,replica set故障切换完全自动,各个DB之间数据完全一致,大大降低了维护成功。


replica set 配置如下:


1、创建目录 /data/db ,data/db2 ,/data/db3,启动mongod并创建复制集 foo

启动mongod
[root@TEST40]
mongod --shardsvr --fork --replSet foo --logpath /var/log/mongodb.log --logappend --rest
mongod --shardsvr --fork --replSet foo --port 27019 --logpath /var/log/mongodb2.log --logappend --dbpath /data/db2 --rest
mongod --shardsvr --fork --replSet foo --port 27020 --logpath /var/log/mongodb3.log --logappend --dbpath /data/db3 --rest


2、初始化复制集配置信息
初始化时给每个host分配一个ID,该ID在复制集中是唯一的,在测试过程中没有发现该ID和故障切换有直接关系。
> config = {_id: 'foo', members: [
... {_id: 0, host: '192.168.100.212:27018'},
... {_id: 1, host: '192.168.100.212:27019'},
... {_id: 2, host: '192.168.100.212:27020'}]
... }
{
"_id" : "foo",
"members" : [
{
"_id" : 0,
"host" : "192.168.100.212:27018"
},
{
"_id" : 1,
"host" : "192.168.100.212:27019"
},
{
"_id" : 2,
"host" : "192.168.100.212:27020"
}
]
}
> rs.initiate(config);
{
"info" : "Config now saved locally. Should come online in about a minute.",
"ok" : 1
}
>
已经配置成功


3、查看查看replica set存在的成员
state:1表示该host是当前可以进行读写,2:不能读写
health:1表示该host目前是正常的,0:异常
[root@TEST40 data]# mongo 192.168.100.212:27018
MongoDB shell version: 1.6.0
connecting to: 192.168.100.212:27018/test
> use admin
switched to db admin
> db.runCommand({replSetGetStatus : 1});
{
"set" : "foo",
"date" : "Fri Aug 20 2010 08:35:59 GMT+0000 (UTC)",
"myState" : 1,
"members" : [
{
"_id" : 0,
"name" : "TEST40:27018",
"health" : 1,
"state" : 1,
"self" : true
},
{
"_id" : 1,
"name" : "192.168.100.212:27019",
"health" : 1,
"state" : 2,
"uptime" : 516,
"lastHeartbeat" : "Fri Aug 20 2010 08:35:58 GMT+0000 (UTC)"
},
{
"_id" : 2,
"name" : "192.168.100.212:27020",
"health" : 1,
"state" : 2,
"uptime" : 508,
"lastHeartbeat" : "Fri Aug 20 2010 08:35:58 GMT+0000 (UTC)"
}
],
"ok" : 1
}
>


4、failover试验
登陆其它的slave,slave是不可以进行读写的。
[root@TEST40 data]# mongo 192.168.100.212:27019
MongoDB shell version: 1.6.0
connecting to: 192.168.100.212:27019/test
> use test
switched to db test
> db.people.find();
error: { "$err" : "not master", "code" : 10107 }
>
[root@TEST40 data]# mongo 192.168.100.212:27020
MongoDB shell version: 1.6.0
connecting to: 192.168.100.212:27020/test
> use test
switched to db test
> db.people.find();
error: { "$err" : "not master", "code" : 10107 }
>


查看复制集合成员状态
登陆192.168.100.212:27020
[root@TEST40 data]# mongo 192.168.100.212:27020
MongoDB shell version: 1.6.0
connecting to: 192.168.100.212:27020/test
> use admin
switched to db admin
> db.runCommand({replSetGetStatus : 1});
{
"set" : "foo",
"date" : "Fri Aug 20 2010 08:36:39 GMT+0000 (UTC)",
"myState" : 2,
"members" : [
{
"_id" : 0,
"name" : "192.168.100.212:27018",
"health" : 1,
"state" : 1,
"uptime" : 546,
"lastHeartbeat" : "Fri Aug 20 2010 08:36:38 GMT+0000 (UTC)"
},
{
"_id" : 1,
"name" : "192.168.100.212:27019",
"health" : 1,
"state" : 2,
"uptime" : 546,
"lastHeartbeat" : "Fri Aug 20 2010 08:36:38 GMT+0000 (UTC)"
},
{
"_id" : 2,
"name" : "TEST40:27020",
"health" : 1,
"state" : 2,
"self" : true
}
],
"ok" : 1
}
将主DB关闭,再次查看发现192.168.100.212:27020DB角色转变为主。原先主库无法登陆,但是state仍然为1 health变为0
> db.runCommand({replSetGetStatus : 1});
{
"set" : "foo",
"date" : "Fri Aug 20 2010 08:41:16 GMT+0000 (UTC)",
"myState" : 1,
"members" : [
{
"_id" : 0,
"name" : "192.168.100.212:27018",
"health" : 0,
"state" : 1,
"uptime" : 0,
"lastHeartbeat" : "Fri Aug 20 2010 08:41:12 GMT+0000 (UTC)",
"errmsg" : "connect/transport error"
},
{
"_id" : 1,
"name" : "192.168.100.212:27019",
"health" : 1,
"state" : 2,
"uptime" : 823,
"lastHeartbeat" : "Fri Aug 20 2010 08:41:16 GMT+0000 (UTC)"
},
{
"_id" : 2,
"name" : "TEST40:27020",
"health" : 1,
"state" : 1,
"self" : true
}
],
"ok" : 1
}
>

分享到:
评论

相关推荐

    mongodb集群配置文档

    ### MongoDB集群配置详解 #### 一、MongoDB集群与分片概述 MongoDB是一种非常流行的非关系型数据库系统,以其灵活的数据模型、高性能和可扩展性而受到广泛欢迎。随着数据量的增长,单一MongoDB实例可能无法满足高...

    MongoDB集群安装配置

    ### MongoDB集群安装配置详解 #### 一、引言 随着数据量的增长以及对高可用性的需求增加,构建MongoDB集群成为一种常见的解决方案。本文将详细介绍如何在Ubuntu 16环境下配置MongoDB集群,并通过实际步骤演示整个...

    Mongodb副本集群配置.docx

    "Mongodb 副本集群配置" MongoDB 副本集群配置是 MongoDB 的一个重要概念,它允许用户创建一个高可用性的数据库集群,以确保数据的安全和可靠性。在这个配置文件中,我们将学习如何配置 MongoDB 副本集群,以便在...

    MongoDB集群负载均衡资料(mongodb副本集)

    提供的"MongoDB集群负载均衡资料"应该包含详细的部署文档,指导如何设置和管理MongoDB副本集;使用文档会介绍如何有效利用副本集特性进行数据操作;问题解决文档则可以帮助用户在遇到问题时找到解决方案。 总结来说...

    MongoDB集群测试代码

    在这个“MongoDB集群测试代码”中,我们关注的是MongoDB的两个关键特性:副本集(Replica Set)和分片(Sharding),以及如何通过配置文件和脚本来进行集群的设置与测试。 1. **副本集(Replica Set)**: - 副本...

    spring+mongodb集群搭建Demo

    MongoDB集群提供了高可用性和水平扩展性,它由多个组件组成,包括 mongod(数据库进程)、mongos(路由服务)和config servers(配置服务器)。在单个实例模式下,我们只需要运行一个mongod进程,但在集群模式下,...

    mongodb集群部署脚本

    mongodb集群部署脚本,包括mongos启动、mongodb config启动,mongodb分片启动,mongodb副本集仲部署等脚本

    mongodb集群的配置

    ### MongoDB集群配置详解 #### 启动MongoDB服务与客户端连接 在进行MongoDB集群配置之前,我们需要了解如何启动MongoDB服务以及如何通过客户端连接到MongoDB实例。 **启动服务命令示例:** ```bash d:\mongodb\...

    MongoDB 集群配置示例之 sharding 模式

    配置MongoDB集群的sharding模式,需要遵循一系列步骤,包括服务器的准备、下载安装、规划以及启动集群。以下是详细的配置步骤: 1. **确认服务器平台信息**:了解集群中各服务器的硬件配置,如CPU型号、内存大小及...

    万亿级文档数据库MongoDB集群性能优化实践.pdf

    "MongoDB集群性能优化实践" 本文档主要介绍了MongoDB集群性能优化实践,涵盖了从 MongoDB 集群优化到解决方案的分享。通过本文档,我们可以了解到 MongoDB 集群性能优化的重要性,并学习到实际的解决方案。 知识点...

    MongoDB集群搭建

    MongoDB MongoDB集群搭建 环境集群搭建 MongoDB MongoDB集群搭建 环境集群搭建

    mongoDB集群部署文档

    MongoDB 集群部署是实现高可用性和可扩展性的关键步骤,特别是在处理大量数据时。MongoDB 提供了一种名为分片集群(Sharding Cluster)的架构,它允许...正确配置和管理这些组件是确保 MongoDB 集群高效运行的关键。

    MongoDB4.2分片及副本集群搭建

    MongoDB4.2分片及副本集群搭建 MongoDB集群 MongoDB分片 MongoDB副本 MongoDB副本集群

    mongodb 集群完整版

    mongodb集群 shard replset 分片 包括windows 和 linux两个版本

    MongoDB集群架构.pptx

    以下是对MongoDB集群架构的详细说明,包括复制集和分片集群的关键概念和最佳实践。 1. **复制集**: - **读写设置**:复制集的主要目的是提供高可用性。默认情况下,所有写操作都会发送到Primary节点,读操作也...

    mongodb集群搭建教程

    ### MongoDB集群搭建教程 #### 一、主从模式详解 **主从模式**是MongoDB中最常见的复制方式之一,主要用于实现数据库同步备份、故障恢复以及读取扩展等功能。该模式的核心在于建立一个主节点和一个或多个从节点,...

Global site tag (gtag.js) - Google Analytics