MongoDB搭建副本集(二)
来源:互联网 发布:怀化学院网络教育平台 编辑:程序博客网 时间:2024/05/03 11:26
在上一篇博客中介绍了MongoDB复制和副本集的概念,这次将我查阅资料在单机下搭建的副本集展现给大家。
下面是在单机上搭建一个三个节点的副本集。一个主节点(primary),两个从节点(secondary),其中一个是仲裁者(arbiter)。
环境:Ubuntu14.04,MongoDB3.2
sudo mkdir /datasudo mkdir /data/node1sudo mkdir /data/node2sudo mkdir /data/arbiter
运行三个节点,其中,replica是副本集的名称;端口号分别为10001,10002,10003,而10001为主节点的端口。
sudo /usr/local/mongodb/bin/mongod --replSet replica --dbpath /data/node1/ --port 10001 --oplogSize 1024 sudo /usr/local/mongodb/bin/mongod --replSet replica --dbpath /data/node2/ --port 10002 --oplogSize 1024 sudo /usr/local/mongodb/bin/mongod --replSet replica --dbpath /data/arbiter/ --port 10003 --oplogSize 1024
另外打开一个shell,进入主节点。
sudo /usr/local/mongodb/bin/mongo localhost:10001
初始化副本集需要配置表并逐步添加节点的数据信息,_id和副本集启动的共享名称一致。
config = {_id: "replica", members: []}config.members.push({_id: 0, host: "localhost:10001"})config.members.push({_id: 1, host: "localhost:10002"})config.members.push({_id: 2, host: "localhost:10003", arbiterOnly: true})
初始化副本集
rs.initiate(config)
执行命令确认配置,可以看到10001的端口实例ismaster为true,secondary为false,为主节点。hosts有两个实例,arbiters有一个实例。
rs.isMaster()
输入命令查看副本集的状态信息。
rs.status()
查看当前副本集的配置表
rs.conf()
插入测试数据:
for(i=1;i<=10;i++) {db.users.insert({"username":"user"+i})}
进入从节点10002,查看集合信息,显示查询失败,这是为了避免从节点读取到过期的数据。
sudo /usr/local/mongodb/bin/mongo localhost:10002 show collections
设置标识并查询集合信息。
rs.slaveOk()show collections
查询测试数据
<span style="font-size:12px;">db.users.find()</span>
在从节点插入数据,写入错误,不是主节点。
db.users.insert({username: "user11"})
进入端口10003,可以看到为仲裁节点。
sudo/usr/local/mongodb/bin/mongo localhost:10003replica:ARBITER>
关掉10001端口的mongod实例,shell显示10001处于down状态,进入之前的从节点10002,发现它变成了主节点,提示符为
“replica:PRIMARY>”,再将10001上线,它有恢复成主节点。这就是MongoDB副本集的故障转移。
到这里,MongoDB单机搭建副本集就结束了,关于在多台机器上部署的例子会在以后的文章中给大家带来。
0 0
- MongoDB搭建副本集(二)
- mongodb副本集搭建
- mongodb副本集搭建
- mongodb副本集搭建
- mongodb副本集搭建
- MongoDB副本集搭建
- mongodb副本集搭建
- 搭建高可用MongoDB集群(二): 副本集
- mongodb副本集架构搭建
- mongodb副本集架构搭建
- mongodb副本集架构搭建
- mongodb 副本集切片搭建
- MongoDB搭建副本集(一)
- MongoDB副本集的搭建
- mongodb之副本集搭建
- 2017 MongoDB 副本集搭建
- MongoDB副本集(二)
- MongoDB副本集(二)
- 关于linux的读写锁
- java操作redis基本功能_Main方法(六)
- Android中的回调
- Android滑动菜单框架完全解析,教你如何一分钟实现滑动菜单特效
- 剑指offter-面试题7.用两个栈实现队列
- MongoDB搭建副本集(二)
- 了解DOM模型
- poj1018 Communication System
- 自定义UIview放入到controller中
- [20160407] MyTable 0.1 Beta Released on GitHub
- 吐槽《C++ GUI Qt4 编程》这本书
- codeforces 608BHamming Distance Sum
- XTU1237 Magic Triangle(几何)
- 创建CALayer