- 浏览: 2663293 次
- 来自: 杭州
文章分类
- 全部博客 (1188)
- webwork (4)
- 网摘 (18)
- java (103)
- hibernate (1)
- Linux (85)
- 职业发展 (1)
- activeMQ (2)
- netty (14)
- svn (1)
- webx3 (12)
- mysql (81)
- css (1)
- HTML (6)
- apache (3)
- 测试 (2)
- javascript (1)
- 储存 (1)
- jvm (5)
- code (13)
- 多线程 (12)
- Spring (18)
- webxs (2)
- python (119)
- duitang (0)
- mongo (3)
- nosql (4)
- tomcat (4)
- memcached (20)
- 算法 (28)
- django (28)
- shell (1)
- 工作总结 (5)
- solr (42)
- beansdb (6)
- nginx (3)
- 性能 (30)
- 数据推荐 (1)
- maven (8)
- tonado (1)
- uwsgi (5)
- hessian (4)
- ibatis (3)
- Security (2)
- HTPP (1)
- gevent (6)
- 读书笔记 (1)
- Maxent (2)
- mogo (0)
- thread (3)
- 架构 (5)
- NIO (5)
- 正则 (1)
- lucene (5)
- feed (4)
- redis (17)
- TCP (6)
- test (0)
- python,code (1)
- PIL (3)
- guava (2)
- jython (4)
- httpclient (2)
- cache (3)
- signal (1)
- dubbo (7)
- HTTP (4)
- json (3)
- java socket (1)
- io (2)
- socket (22)
- hash (2)
- Cassandra (1)
- 分布式文件系统 (5)
- Dynamo (2)
- gc (8)
- scp (1)
- rsync (1)
- mecached (0)
- mongoDB (29)
- Thrift (1)
- scribe (2)
- 服务化 (3)
- 问题 (83)
- mat (1)
- classloader (2)
- javaBean (1)
- 文档集合 (27)
- 消息队列 (3)
- nginx,文档集合 (1)
- dboss (12)
- libevent (1)
- 读书 (0)
- 数学 (3)
- 流程 (0)
- HBase (34)
- 自动化测试 (1)
- ubuntu (2)
- 并发 (1)
- sping (1)
- 图形 (1)
- freemarker (1)
- jdbc (3)
- dbcp (0)
- sharding (1)
- 性能测试 (1)
- 设计模式 (2)
- unicode (1)
- OceanBase (3)
- jmagick (1)
- gunicorn (1)
- url (1)
- form (1)
- 安全 (2)
- nlp (8)
- libmemcached (1)
- 规则引擎 (1)
- awk (2)
- 服务器 (1)
- snmpd (1)
- btrace (1)
- 代码 (1)
- cygwin (1)
- mahout (3)
- 电子书 (1)
- 机器学习 (5)
- 数据挖掘 (1)
- nltk (6)
- pool (1)
- log4j (2)
- 总结 (11)
- c++ (1)
- java源代码 (1)
- ocr (1)
- 基础算法 (3)
- SA (1)
- 笔记 (1)
- ml (4)
- zokeeper (0)
- jms (1)
- zookeeper (5)
- zkclient (1)
- hadoop (13)
- mq (2)
- git (9)
- 问题,io (1)
- storm (11)
- zk (1)
- 性能优化 (2)
- example (1)
- tmux (1)
- 环境 (2)
- kyro (1)
- 日志系统 (3)
- hdfs (2)
- python_socket (2)
- date (2)
- elasticsearch (1)
- jetty (1)
- 树 (1)
- 汽车 (1)
- mdrill (1)
- 车 (1)
- 日志 (1)
- web (1)
- 编译原理 (1)
- 信息检索 (1)
- 性能,linux (1)
- spam (1)
- 序列化 (1)
- fabric (2)
- guice (1)
- disruptor (1)
- executor (1)
- logback (2)
- 开源 (1)
- 设计 (1)
- 监控 (3)
- english (1)
- 问题记录 (1)
- Bitmap (1)
- 云计算 (1)
- 问题排查 (1)
- highchat (1)
- mac (3)
- docker (1)
- jdk (1)
- 表达式 (1)
- 网络 (1)
- 时间管理 (1)
- 时间序列 (1)
- OLAP (1)
- Big Table (0)
- sql (1)
- kafka (1)
- md5 (1)
- springboot (1)
- spring security (1)
- Spring Boot (3)
- mybatis (1)
- java8 (1)
- 分布式事务 (1)
- 限流 (1)
- Shadowsocks (0)
- 2018 (1)
- 服务治理 (1)
- 设计原则 (1)
- log (0)
- perftools (1)
最新评论
-
siphlina:
课程——基于Python数据分析与机器学习案例实战教程分享网盘 ...
Python机器学习库 -
san_yun:
leibnitz 写道hi,我想知道,无论在92还是94版本, ...
hbase的行锁与多版本并发控制(MVCC) -
leibnitz:
hi,我想知道,无论在92还是94版本,更新时(如Puts)都 ...
hbase的行锁与多版本并发控制(MVCC) -
107x:
不错,谢谢!
Latent Semantic Analysis(LSA/ LSI)算法简介 -
107x:
不错,谢谢!
Python机器学习库
1. 什么是Replication
数据复制是为了使数据得到最大的可用性,避免单点故障的发生,MongoDB支持在服务器之间进行数据的异步复制,来满足数据的最终一致性。但是同 一时刻只有一台服务器是可以写的。当只有一台master时,数据的强一致性就可以得到保障。但当用户从slaves上去读数据时,这里只能保障数据的最 终一致性。目前MongoDB提供了三种Replication方式,Matser/Matser, Matser/Slave,Replica Sets
注意:
如果你使用的是v1.6版本以下的MongoDB,你可能使用前两种模式,第三种模式在v1.6.0版本中才提供。另外,v1.6.0版本的Replic Sets还不支持--auth这个参数,不过在v1.7.0版本中就提供了。
2. Replica Sets介绍与配置
Replica sets是一种结合了Master/Slave模式与自动数据容错、自动恢复的综合体。Replica sets也是"Replica Pairs version 2"。
2.1 特点
- 在集群中支持1-7台服务器
- 自动数据容错与恢复
- 对数据中心敏感
- 对多个slave的支持
2.2 简单配置
一个Replica set是一组mongod节点的集成,每个节点上的数据都是冗余的,以此来保证数据的可用性。
一般配置一个两步,启动Replica set集合中的每一个节点,再对其建立关系。这里我们用三个节点来做
建立数据库目录与启动服务:
mkdir -p /data/r0
mkdir -p /data/r1
mkdir -p /data/r2
mongod --replSet foo --port 27017 --dbpath /data/r0
mongod --replSet foo --port 27017 --dbpath /data/r1
mongod --replSet foo --port 27017 --dbpath /data/r2
建立相应的关系:
这时你要登陆到其中的一个节点上去,运行如下命令
mongo localhost:27017 [kyle@arete ~$]$ mongo localhost:27017 MongoDB shell version: 1.5.7 connecting to: localhost:27017/test > config = {_id: 'foo', members: [ {_id: 0, host: 'localhost:27017'}, {_id: 1, host: 'localhost:27018'}, {_id: 2, host: 'localhost:27019'}] } > rs.initiate(config); { "info" : "Config now saved locally. Should come online in about a minute.", "ok" : 1 }
你可以用如下命令显示其状态:
> rs.status() { "set" : "foo", "date" : "Mon Aug 02 2010 11:39:08 GMT-0400 (EDT)", "myState" : 1, "members" : [ { "name" : "arete.local:27017", "self" : true, }, { "name" : "localhost:27019", "health" : 1, "uptime" : 101, "lastHeartbeat" : "Mon Aug 02 2010 11:39:07 GMT-0400", }, { "name" : "localhost:27018", "health" : 1, "uptime" : 107, "lastHeartbeat" : "Mon Aug 02 2010 11:39:07 GMT-0400", } ], "ok" : 1 }
2.3 动态加入节点
打开一个MongoDB服务
$ ./mongod --replSet foo
登陆到已经存在的Replica Sets的主节点上去,运行如下命令
$ ./mongo MongoDB shell version: ... connecting to: test > rs.add("broadway:27017"); { "ok" : 1 }
添加完以后,它会运行相应的数据同步操作。
3. Master/Slave的介绍与配置
这是一种最普通的数据复制方式,一般要启动两个服务,一个是Master,另一个是Slave
3.1 启动方法
$ bin/mongod --master [--dbpath /data/masterdb/] $ bin/mongod --slave --source <masterhostname>[:<port>] [--dbpath /data/slavedb/]
其中要注意的是Master有一个参数叫--oplogSize,它是指定编辑日志的大小,这个日志是用来对slave进行数据同步用的,默认是磁盘的5%。
4. 两种复制方式的区别
Replica Sets主要是提供一种节点出故障后的自动选举功能,就是当这个set中的primary故障后,它会自动选举出一个节点做为primary,而不是整个set变成只读的。
replica set可以通过如下配置方式来模拟Master/Slave模式
$ # run mongod instances with "--replSet mysetname" parameter $ # then in the shell: $ mongo --host M > cfg = { > _id : 'mysetname', > members : [ > { _id : 0, host : 'M', priority : 1 }, > { _id : 1, host : 'S', priority : 0, votes : 0 } > ] > }; > rs.initiate(cfg);
5. 参考
http://blog.csdn.net/amuseme_lu/article/details/6219422
http://www.mongodb.org/display/DOCS/Replica+Sets
http://www.mongodb.org/display/DOCS/Replica+Set+Tutorial
http://www.mongodb.org/display/DOCS/Master+Slave
发表评论
-
基于tmpfs使用mongoDB
2013-08-28 13:51 1647基本思想 将MongoDB ... -
mongoDB如何query is Null
2013-07-24 15:09 1225试了半天,原来通过 db.taobaoItem.find( ... -
mongoDB性能问题
2013-03-23 21:43 1036mongoDB在高并发情况下的性能存在问题。 ... -
mongoDB 性能测试
2013-03-05 13:33 2183最近对mongoDB 性能测试,200万条数据,文件大小 ... -
mongoDB为什么用virtual memory mapping
2013-01-28 23:57 1261原文: http://blog.mongodb.org/po ... -
mongoDB亿级数据量性能测试
2013-01-28 23:54 1236原文:http://www.cnblogs.co ... -
mongoDB 虚内存
2013-01-28 23:29 0http://blog.mongodb.org/post/10 ... -
MongoDB 关于索引的建议
2013-01-23 14:32 1138我们收到了很多关于索引的问题。这一部分解答了其中的一小部分。 ... -
mongoDB 索引
2013-01-23 14:12 926索引常常用来大幅度 ... -
mongos结构记录
2013-01-16 00:11 987mong client< ---> mongo ... -
mongoDB java简单记录
2013-01-11 19:02 11301. 数据格式传递 上个自己画的图 Mongodb-Jav ... -
MongoDB数据文件内部结构
2012-12-29 11:40 939有人在Quora上提问:Mongo ... -
MongoDB范围查询的索引优化
2012-12-22 15:08 1761源文: http://blog.nosqlfan. ... -
mongoDB意外关闭重启
2012-12-03 16:36 2377线上一台mongoDB意外关闭,重启的时候报错: o ... -
MongoDB vs Redis vs Tokyo Tyrant 测试对比
2012-12-01 17:19 0* MongoDB vs Redis vs Tokyo T ... -
mongoDB NUMA问题
2012-12-01 14:05 1215NUMA的含义,简单点说,在有多个物理CPU的架构下,NUMA ... -
mongo 监控常用命令
2012-12-01 14:05 973db.stats() db.serverStatus(). ... -
mongoDB的储存机制
2012-11-30 16:27 1722在MongoDB的数据文件夹中(默认路径是/data/db)由 ... -
MongoDB与内存
2012-11-29 16:07 830原文:http://huoding.com/2011/08/ ... -
理解mongodb的ObjectId
2012-11-14 00:29 2754Posted in nosql on 三月 8th ...
相关推荐
MongoDB的复制模式(Replication)是一种多数据库服务器协同工作的机制,其目的是为数据提供冗余并提高数据的可用性。复制在分布式数据库系统中扮演着至关重要的角色,它确保在一台服务器出现问题时,其他服务器能够...
MongoDB 安装包 ,包含了单服务器的副本集(Replication)配置(单服务器:Windows)
- **将独立服务器转换为复制集**: 介绍如何将现有的独立 MongoDB 服务器转换为复制集的一部分。 - **向复制集添加成员**: 讲述如何向已存在的复制集中添加新的成员节点。 - **从复制集中移除成员**: 说明如何安全地...
5. **复制集(Replication)**:MongoDB的复制集功能可以创建数据副本,提供高可用性和故障恢复能力。在一个复制集中,如果有主节点故障,其他副本可以自动接管,确保服务不中断。 6. **聚合框架**:MongoDB提供了...
MongoDB是一种分布式文档数据库,广泛应用于现代Web应用、大数据分析和实时数据存储。副本集(Replica Set)是MongoDB中的高可用性解决方案,通过在多个节点之间复制数据,确保了数据的冗余和容错性。下面我们将深入...
在本文中,我们将详细介绍MongoDB的配置文件的各个部分,并解释每个设置的作用和意义。 一、数据库文件位置(dbpath) MongoDB的数据库文件位置是指mongodb数据文件的存储路径。这个设置非常重要,因为它将影响...
MongoDB内核源码分布式事务介绍 分布式事务是现代数据库系统中的一大挑战,MongoDB 作为Modern Database,需要解决分布式事务问题。本文将介绍MongoDB 内核源码分布式事务的技术创新和实现原理。 MongoDB 的高层...
MongoDB 支持分片(Sharding)和复制集(Replication),以实现水平扩展和数据冗余。分片允许将大型数据集分布在多个机器上,而复制集则提供高可用性,当主节点故障时,副本节点可以接管。 以上就是在 CentOS 系统...
01-mongodb文档型数据库特点介绍 01-NoSQL简介 02-mongodb安装过程 02-mongodb操作1 03-mongodb操作2 03-mongo库表操作语句 04-CURD操作详解 04-mongodb操作3 05-回顾 05-深入查询表达式 06-索引的使用 ...
Addressing the limitations of SQL schema-based databases, MongoDB pioneered a shift of focus for DevOps and offered sharding and replication maintainable by DevOps teams. The book is based on MongoDB...
8. Replication与Sharding:MongoDB的复制集可以提供高可用性和数据冗余,而分片则用于水平扩展以处理大量数据,这两者是大型MongoDB部署的关键组成部分。 9. GridFS:当单个文档大小超过16MB时,MongoDB使用GridFS...
4. MongoDB介绍: MongoDB是一种面向文档(Document)的NoSQL数据库,支持多平台如Windows、Linux、Mac OS X、FreeBSD等,并且其核心是用C++实现的Solaris。MongoDB提供多语言驱动支持,包括Ruby/Ruby-on-Rails、Java...
MongoDB是一种流行的开源文档数据库系统,它以其高性能、高可用性和可扩展性而备受赞誉。在企业级应用中,为了确保数据的安全性和服务的连续性,通常会采用主从复制(Replication)架构。主从环境搭建是MongoDB高...
4. **应用(Applications)**:将相关的监控项组织成逻辑上的应用组,如"MongoDB Replication"、"MongoDB Memory"等,方便管理和查看。 三、模板导入与配置 1. **导入模板**:在Zabbix服务器端,通过Web界面导入...
1. **主从复制(Replication)**: MongoDB的主从复制是其高可用性架构的基础,通过复制数据到多个节点,确保即使主节点故障,从节点也能接管服务,保证数据不丢失。 2. **单台Windows系统**:尽管MongoDB推荐在多台...
本压缩包提供了MongoDB 3.2版本的Linux安装包,下面将详细介绍如何在Linux系统中安装和部署MongoDB 3.2。 首先,确保你的Linux系统满足MongoDB 3.2的最低硬件和软件要求。MongoDB 3.2支持多种Linux发行版,包括...
复制是数据库提供高可用性的机制之一,在MongoDB中称为Replication。文档中的复制介绍部分会阐述复制的基本概念和复制的工作原理。复制教程部分提供了复制集的搭建和管理的详细步骤。复制参考部分则针对复制相关的...
目录: 1.MongoDB 成为最好 NoSQL 数据库...8.分片(sharding)和复制(replication)是怎样工作的? 9.我怎么查看 Mongo 正在使用的链接? 10.MongoDB 在 A:{B,C}上建立索引,查询 A:{B,C}和 A:{C,B}都会使用索引吗? ......
9. **驱动程序(Driver)**:MongoDB有多种官方和社区支持的驱动程序,如Python、Java、Node.js等,使得在不同编程语言中与MongoDB交互变得简单。 10. **MongoDB工具**:MongoDB提供了一系列工具,如`mongo` shell...
在2.0.6版本中,已经具备了一定的分片(sharding)和复制集(replication)功能。 4. **自动分片**:MongoDB能够自动将数据分散到多个物理节点上,以实现水平扩展,处理海量数据。 5. **复制集**:复制集是MongoDB...