mongodb 3.4复制集配置
/home/maxiangqian/mongodb-linux-x86_64-rhel62-3.4.2/bin/mongod --config /home/mongodb/db27017/mongodb27017.conf
/home/maxiangqian/mongodb-linux-x86_64-rhel62-3.4.2/bin/mongod --config /home/mongodb/db27018/mongodb27018.conf
/home/maxiangqian/mongodb-linux-x86_64-rhel62-3.4.2/bin/mongod --config /home/mongodb/db27019/mongodb27019.conf
2:为每个实例配置超级管理员账号:maxiangqian
use admin
db.createUser(
{
user: "maxiangqian",
pwd: "maxiangqian",
roles: [ { role: "root", db: "admin" } ]
}
)
然后使用验证登录
use admin
db.auth("maxiangqian","maxiangqian")
db.shutdownServer()
3:重启mongodb数据库以复制集的形式启动mongodb数据库
mongod -f /home/mongodb/db27017/mongodb27017.conf
mongod -f /home/mongodb/db27018/mongodb27018.conf
mongod -f /home/mongodb/db27019/mongodb27019.conf
4:登入27017mongodb数据库进行初始化:
mongo localhost:27017
配置主节点:
rsconf = { _id: "rsmxqtest", members: [ { _id: 0,host: "localhost:27017" } ] }
再进行初始化:
> rs.initiate()
进行验证:
rs.conf()
添加一个节点:
rs.add("localhost:27018")
嗯?报错了,什么鬼,看一下报错信息:
openssl rand -base64 756 > /home/mongodb/db27017/key/autokey
chmod 400 /home/mongodb/db27017/key/autokey
然后进行拷贝并且查看文件:
[root@localhost key]# cp /home/mongodb/db27017/key/autokey /home/mongodb/db27018/key/autokey
[root@localhost key]# cp /home/mongodb/db27017/key/autokey /home/mongodb/db27019/key/autokey
[root@localhost key]# ls -ll /home/mongodb/db27018/key/
total 4
-r-------- 1 root root 1024 Mar 14 16:32 autokey
[root@localhost key]# ls -ll /home/mongodb/db27019/key/
total 4
-r-------- 1 root root 1024 Mar 14 16:33 autokey
6:以keyFile 参数启动mongodb数据库
keyFile = /home/mongodb/db27017/key/autokey
keyFile = /home/mongodb/db27018/key/autokey
keyFile = /home/mongodb/db27019/key/autokey
重启三台mongodb数据库
db.shutdownServer()
mongod -f /home/mongodb/db27017/mongodb27017.conf
mongod -f /home/mongodb/db27018/mongodb27018.conf
mongod -f /home/mongodb/db27019/mongodb27019.conf
7:登录主节点27017节点,然后进行操作添加节点
[root@localhost tmp]# mongo localhost:27017
MongoDB shell version v3.4.2
connecting to: localhost:27017
MongoDB server version: 3.4.2
rsmxqtest:PRIMARY> use admin
switched to db admin
rsmxqtest:PRIMARY> db.auth("maxiangqian","maxiangqian")
rsmxqtest:PRIMARY> rs.add("localhost:27018")
{ "ok" : 1 }
显示添加成功,然后添加一个投票节点(投票节点是不保存数据的,只是作为投票使用)
rsmxqtest:PRIMARY> rs.addArb("localhost:27019")
{ "ok" : 1 }
显示添加成功,然后验证看一下节点状态:
rs.status()
rs.conf()
打印的消息就不打印贴出来了,有点太长了。
rsmxqtest:PRIMARY> use maxiangqian
switched to db maxiangqian
rsmxqtest:PRIMARY> db.maxiangqian.insert({"name":"maxiangqian"})
WriteResult({ "nInserted" : 1 })
rsmxqtest:PRIMARY> db.maxiangqian.find().pretty()
{ "_id" : ObjectId("58c7b0c0088625cf734503ae"), "name" : "maxiangqian" }
(2)登录从节点验证数据27018
rsmxqtest:SECONDARY> use admin
switched to db admin
rsmxqtest:SECONDARY> db.auth("maxiangqian","maxiangqian")
1
rsmxqtest:SECONDARY> rs.slaveOk()
rsmxqtest:SECONDARY> show dbs
admin 0.000GB
local 0.000GB
maxiangqian 0.000GB
rsmxqtest:SECONDARY> use maxiangqian
switched to db maxiangqian
rsmxqtest:SECONDARY> db.maxiangqian.find().pretty()
{ "_id" : ObjectId("58c7b0c0088625cf734503ae"), "name" : "maxiangqian" }
可以看得到,复制集的功能已经完成了,数据也已经同步了。投票节点是不存储数据的,所以我们就不需要去验证数据了。
mongodb 3.4复制集配置的更多相关文章
- replcation set (复制集)配置过程 --mongodb
一,配置规划 复制集原理(基本构成是1主2从的结构,自带互相监控投票机制(Raft(MongoDB) Paxos(mysql MGR 用的是变种))如果发生主库宕机,复制集内部会进行投票选举,选择一 ...
- mongodb 3.4复制集详解
1关闭数据库,打开三个mongodb数据库数据库实例 rs.printReplicationInfo() 2:原理 主库能够进行读写操作,一个复制集群只能有一个活跃的主库 一般情况下复制可以分为好几种 ...
- MongoDB 3.2复制集单节点部署(四)
MongoDB在单节点中也可以做复制集,但是仅限于测试实验,最大的好处就是部署方便快速,可以随便添加新节点,节省资源.在这里我使用的是MongoDB 3.2版本进行复制集实验(但MongoDB配置文件 ...
- MongoDB 2.6复制集单节点部署(三)
MongoDB在单节点中也可以做复制集,但是仅限于测试实验,最大的好处就是部署方便快速,可以随便添加新节点,节省资源.在这里我使用的是MongoDB 2.6版本进行复制集实验(但MongoDB配置文件 ...
- [Mongodb] Relica Set复制集集群简单搭建--持续更新
这里我们搭建一个没有访问控制,奇数个Set没有仲裁者的集群 1.三个配置文件添加 replication.replSetName:"Replica_test" 并启动三个实例2.连 ...
- mongodb 3.4分片复制集配置
1:启动三个实例 mongod -f /home/mongodb/db27017/mongodb27017.conf mongod -f /home/mongodb/db27018/mongodb27 ...
- spring mongodb 复制集配置(实现读写分离)
注:mongodb当前版本是3.4.3 spring连接mongodb复制集的字符串格式: mongodb://[username:password@]host1[:port1][,host2[: ...
- Windows 下MongoDB复制集配置
1.下载服务.https://www.mongodb.com/ 点击products 下拉第二列MongoDB server 选择 4.0.6 2.下载下来后 有限管理员运行 一路安装,可以不用 ...
- mongoDB研究笔记:复制集概述
自我学习,仅供参考: 数据库总是会遇到各种失败的场景,如网络连接断开.断电等,尽管journaling日志功能也提供了数据恢复的功能,但journaling通常是针对单个节点来说的,只能保证单节点数据 ...
随机推荐
- 关于锚点定位,ul设置fixed后,div被覆盖一部分的问题
例如: 问题: 刚开始的时候 .ul是正常显示的,当页面的滚动条滚动到一定的高度是 ,ul就被设置为 position:fixed:那么 点击 li相对应div就会被 固定定位的ul覆盖住一部分. 解 ...
- spring项目中aop的使用
AOP:是一种面向切面的编程范式,是一种编程思想,旨在通过分离横切关注点,提高模块化,可以跨越对象关注点.Aop的典型应用即spring的事务机制,日志记录.利用AOP可以对业务逻辑的各个部分进行隔离 ...
- MySQL更改字段名
更改字段名 alter table tb_name change col_name new_col_name create_definition;
- 设置MySQL字符集utf8
1.修改mysql 配置文件my.cnf 标签[mysqld]下添加即可 character-set-server = utf8 2.创建数据库时设置字符集 create database db_na ...
- LinuxShell脚本编程基础5--数值,字符串,文件状态测试,((..))和[[..]]的使用
1.数值比较 ! /bin/bash echo "enter a score:" read num1 ] then echo "Very Good" elif ...
- input输入框中只能输入数字,非数字字符自动清除
前言:项目中有个缴纳保证金的功能,要是输入框只能输入数字,不能输入其他字符. ①HTML代码:<input class="input-box" type="text ...
- js 字符串转dom 和dom 转字符串
js 字符串转dom 和dom 转字符串 博客分类: JavaScript 前言: 在javascript里面动态创建标准dom对象一般使用: var obj = document.createE ...
- jquery 使用整理机制
短路表达式 与 多重短路表达式 短路表达式这个应该人所皆知了.在 jQuery 中,大量的使用了短路表达式与多重短路表达式. 短路表达式:作为"&&"和" ...
- WPF画箭头
简介 参考Using WPF to Visualize a Graph with Circular Dependencies的基础上写了一个WPF画箭头的库. 效果图如下: 使用的XAML代码如下: ...
- Error:Execution failed for task ':app:processAnzhiDebugAndroidTestResources'. > No slave process to process jobs, aborting
环境 Android Studio 3.0 错误 Error:Execution failed for task ':app:processAnzhiDebugAndroidTestResources ...