Centos6.5 虚拟机Mongodb创建副本集
简单副本集的搭建
官方demo的最小化的副本集为Three Member Sets,一个primary和两个secondary。我们先就搭建一个这样的测试环境。
首先建立三个数据目录和日志目录:
cd /opt/mongodb3/data/ mkdir -p rs0- rs0- rs0- cd /opt/mongodb3/log/ mkdir -p rs0- rs0- rs0-
然后我们以守护进程的方式启动三个mongod进程,端口分别是37017,37018和37019:
./bin/mongod --fork --dbpath data/rs0-/ --logpath log/rs0-/rs0-.log --rest --replSet rs0 --port ./bin/mongod --fork --dbpath data/rs0-/ --logpath log/rs0-/rs0-.log --rest --replSet rs0 --port ./bin/mongod --fork --dbpath data/rs0-/ --logpath log/rs0-/rs0-.log --rest --replSet rs0 --port
跟启普通的mongod进程基本相同,不同的跟了--replSet选项,rs0是该副本集的名称。--rest参数是打开web监控页面,比如我们这里监听37017端口,则打开http://192.9.10.13:38017/(mongod端口加上1000)就可以看到这个mongodb数据库进程的信息,如果是副本集就能查看整个副本集的相关信息。
然后我们用mongo shell连上端口为37017的mongod:
./bin/mongo -port 37017
use admin
接着我们需要初始化一个Replica Set:首先创建一个副本集配置对象:
1. rsconf={
2. "_id" : "rs0",
3. "members" : [
4. {
5. "_id" : 0,
6. "host" : "192.9.10.13:37017"
7. }
8. ]
9. }
_id:代表副本集名称,numbers:代表成员。
然后用rs.initiate()进程初始化:
1. rs.initiate(rsconf)
2. {
3. "info" : "Config now saved locally. Should come online in about a minute.",
4. "ok" : 1
5. }
添加成员:
通过rs.add()将另外两个mongod添加到副本集当中:
1. rs0:PRIMARY> rs.add("192.9.10.13:37018")
2. { "ok" : 1 }
3. rs0:PRIMARY> rs.add("192.9.10.13:37019")
4. { "ok" : 1 }
会发现37017这个mongod默认就是PRIMARY节点了。通过rs.conf()可以查看集群的配置情况:
1. rs0:PRIMARY> rs.conf()
2. {
3. "_id" : "rs0",
4. "version" : 3,
5. "members" : [
6. {
7. "_id" : 0,
8. "host" : "192.9.10.13:37017"
9. },
10. {
11. "_id" : 1,
12. "host" : "192.9.10.13:37018"
13. },
14. {
15. "_id" : 2,
16. "host" : "192.9.10.13:37019"
17. }
18. ]
19. }
修改priority:
副本中所有的secondary节点都有一个priority值,为任意的浮点数,该值越大则该节点在election中越优先成为primary节点,通过下面的命令修改该值,目前primary节点是37017:
1. rs0:PRIMARY> cfg=rs.conf()
2. {
3. "_id" : "rs0",
4. "version" : 7,
5. "members" : [
6. {
7. "_id" : 0,
8. "host" : "192.9.10.13:37017"
9. },
10. {
11. "_id" : 1,
12. "host" : "192.9.10.13:37018"
13. },
14. {
15. "_id" : 2,
16. "host" : "192.9.10.13:37019"
17. }
18. ]
19. }
我们将37019节点的priority设置成2:
1. rs0:PRIMARY> cfg=rs.conf()
2. cfg.members[2].priority = 2 然后执行:
rs0:PRIMARY> rs.reconfig(cfg) 注意:执行rs.reconfig()命令会强制整个副本集集群进行一次election,这样priority较高的37019节点便成了primary节点。 转自:http://blog.csdn.net/huwei2003/article/details/40453159 参考:
http://www.cnblogs.com/zhoujinyi/p/3554010.html
Centos6.5 虚拟机Mongodb创建副本集的更多相关文章
- mongodb创建副本集命令
mongodb创建副本集命令 ./mongod --replSet spock --dbpath ../data --smallfiles > config ={... "_id&qu ...
- [DataBase] MongoDB (8) 副本集
MongoDB 创建副本集 MongoDB复制是将数据同步在多个服务器的过程. 复制提供了数据的冗余备份,并在多个服务器上存储数据副本,提高了数据的可用性, 并可以保证数据的安全性. 复制还允许您从 ...
- 9.MongoDB系列之创建副本集(二)
1. 如何设计副本集 大多数:选取主节点时需要由大多数决定,主节点只有在得到大多数支持时才能继续作为主节点,写操作被复制到大多数成员时就是安全的写操作.这里的大多数定义为"副本集中一半以上的 ...
- 8.MongoDB系列之创建副本集(一)
1. 复制简介 在MongoDB中,创建副本集后就可以使用复制功能了,副本集是一组服务器,其中一个是用于处理写操作的主节点,还有多个用于保存主节点的数据副本的从节点,如果主节点崩溃了,则从节点会从中选 ...
- Mongodb 笔记05 创建副本集
创建副本集 1. 副本集:副本集时一组服务器,其中有一个主服务器(primary),用于处理客户端请求:还有多个备份服务器(secondary),用于保存主服务器的数据副本.如果主服务器崩溃了,备份服 ...
- mongodb之 3.4.0 mongodb sharing 副本集群搭建
系统系统 centos6.5三台服务器:10.100.25.42/43/44安装包: mongodb-linux-x86_64-rhel62-3.4.0.tgz 服务器规划:mongos mongos ...
- MongoDB之副本集
MongoDB之副本集 一.简介 MongoDB 是一个基于分布式文件存储的数据库.由 C++ 语言编写.旨在为 WEB 应用提供可扩展的高性能数据存储解决方案. MongoDB 是一个介于关系数据库 ...
- Mongodb主从复制/ 副本集/分片集群介绍
前面的文章介绍了Mongodb的安装使用,在 MongoDB 中,有两种数据冗余方式,一种 是 Master-Slave 模式(主从复制),一种是 Replica Sets 模式(副本集). Mong ...
- MongoDB 复制(副本集)
MongoDB复制是将数据同步在多个服务器的过程. 复制提供了数据的冗余备份,并在多个服务器上存储数据副本,提高了数据的可用性, 并可以保证数据的安全性. 复制还允许您从硬件故障和服务中断中恢复数据. ...
随机推荐
- kendo-ui的MVVM模式
摘要: MVVM(Model View ViewModel)是一种帮助开发者将数据从模型分离的设计模式.MVVM的ViewModel负责将数据对象从模型中分离出来,通过这种方式数据就很容易控制数据如何 ...
- LINQ to Entities does not recognize the method 'Int32 ToInt32(System.String)' method, and this method cannot be translated into a store expression
if (!string.IsNullOrEmpty(FarmWorkId)) { data = data.Where(p => p.TypeId == Convert.ToInt32(FarmW ...
- GCD (Grand Central Dispatch) 笔记
GCD (Grand Central Dispatch) 是Apple公司开发的一种技术,它旨在优化多核环境中的并发操作并取代传统多线程的编程模式. 在Mac OS X 10.6和IOS 4.0之后开 ...
- 九个PHP很有用的功能
1. 函数的任意数目的参数 你可能知道PHP允许你定义一个默认参数的函数.但你可能并不知道PHP还允许你定义一个完全任意的参数的函数 下面是一个示例向你展示了默认参数的函数: // 两个默认参数的函数 ...
- java图片裁剪和java生成缩略图
一.缩略图 在浏览相冊的时候.可能须要生成相应的缩略图. 直接上代码: public class ImageUtil { private Logger log = LoggerFactory.getL ...
- iOS AppsFlyer的使用注意事项
AppFlyer 是近期比較火的一款广告追踪统计工具,当然统计的功能友盟也能够实现,而appsflyer更是具有定向投放,是app跳转到对应的页面. 详细的:当点击广告的时候,假设没有安装应用.则会跳 ...
- Java -- 获取指定接口的所有实现类或获取指定类的所有继承类
Class : ClassUtil package pri.lime.main; import java.io.File; import java.io.IOException; import jav ...
- Greenplum-cc-web安装
第一章 文档概述 1. 本安装手册描述适用于Greenplum4.0以上版本的安装Greenplum-cc-web操作 第二章 安装介质 针对Greenplum版本下载对应Greenplum-cc-w ...
- Steam安装Google Earth VR
打开Steam 打开火狐浏览器 输入steam://install/348250
- 【译】Apache Flink Kafka consumer
Flink提供了Kafka connector用于消费/生产Apache Kafka topic的数据.Flink的Kafka consumer集成了checkpoint机制以提供精确一次的处理语义. ...