这些天捣鼓了一下mongodb的replica set
本人初学,属菜鸟。现在将一些心得分享给大家。若有不对之处,望各位大鸟指点。
#创建三个数据存放目录用来做db的路径
/data/data/r0
/data/data/r1
/data/data/r2
#启动一个mongod实例
./mongod --port 27017 --dbpath /data/data/r0
#因为我需要做带用户验证的replica set,所以先这样启动来设置用户
#若要使用replica set,那么所有的节点机器必须在local库里要新增一个repl的用户
use local
db.addUser('repl','replication')
否则,当我们启动slave时,会报错:
引用
replauthenticate: no user in local.system.users to use for authentication
replauthenticate: can't authenticate to master server, user:repl
#同样,启动另外两个mongod实例,添加local用户
./mongod --port 27018 --dbpath /data/data/r1
./mongod --port 27019 --dbpath /data/data/r2
use local
db.addUser('repl','replication')
完成后将三个实例在控制台关闭
use admin
db.shutdownServer();
#接下来我们以replica set的方式启动这三个实例
./mongod --replSet testrs --port 27017 --dbpath /data/data/r0 --auth
./mongod --replSet testrs --port 27018 --dbpath /data/data/r1 --auth
./mongod --replSet testrs --port 27019 --dbpath /data/data/r2 --auth
注意,这里带上了--auth参数,要求客户端使用用户登录
启动好这三个实例后,要去其中一台机的控制台去初始化。该初始化操作只执行一次如下:
db.runCommand({"replSetInitiate":{"_id":"testrs","members":[
{"_id":1, "host":"localhost:27017",priority : 1},
{"_id":2,"host":"localhost:27018",priority : 1},
{"_id":3,"host":"localhost:27019",priority : 0 }
]}})
执行完这个命令后,没什么意外的话,三个实例的replica set就配置启动好了。
通过rs.status();查看哪个实例是主节点,去登录主节点的客户端。
由于设置了--auth参数,所以我们要先建立用户。
use admin;
db.addUser('root','root'); //在admin库里创建一个root用户
db.auth('root','root');
use wj;
db.addUser('wj','wj'); //在wj库里创建一个wj用户
这样,在wj库里新增数据的话,就可以在三台实例里查看到了。
在从节点查看数据的话,需要执行db.getMongo().setSlaveOk()
分享到:
相关推荐
关于mongodb的备份集的检测,优化,部署
信息 该文件描述了如何在 Docker 上运行 Mongo DB Replica Set。 我们假设主机上的 ...$ cd docker-mongodb-replicaset $ docker build -t mongo . 使用副本集启动 docker 容器 $ ./start.sh 使用 bash 再运行一个
k8s 安装 mongodb 分片(Sharding)+ 副本集(Replica Set)
NULL 博文链接:https://tcrct.iteye.com/blog/2108099
mongodb的多服务器配置,以前写过一篇文章,是master-slave模式的,请参考:详解mongodb 主从配置。master-slave模式,不能自动实现故障转移和恢复。所以推荐大家使用mongodb的replica set,来实现多服务器的高可用...
主要给大家介绍了关于MongoDB添加仲裁节点报错:replica set IDs do not match的解决方法,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧
小米科技 电商部门 Mongodb sharding Cluster with Replica Set 集群 文档
NULL 博文链接:https://star45.iteye.com/blog/2039957
Mongodb的Replica Sets + Sharding架构(window篇)
在本地运行MongoDB Atlas进行测试先决条件Java 8+ 码头工人该图显示了本地和远程docker对plicateSetNumber的支持plicateSetNumber 本地Docker主机本地Docker主机从容器内部运行测试并映射Docker套接字远程Docker守护...
mongo集群分片 使用分片和ReplicaSet设置集群MongoDB
mongodb的集群搭建方式主要有三种,主从模式,Replica set模式,sharding模式, 三种模式各有优劣,适用于不同的场合,属Replica set应用最为广泛,主从模式现在用的较少,sharding模式最为完备,但配置维护较为复杂 ...
使用SpringBoot 对MongoDB副本集进行实现,看读数据与写数据操作,是否会自动分配到从库与主库上,关键点在 uri 连接字符串上
自己做了小系统这里分享给...项目介绍:用户注册,登录(用户在mysql数据库),使用mongoTemplate存储用户操作行为数据到mongodb,查看用户行为列表。 基本的web项目架构(通过声明注解实现事务回滚),mongodb的基本操作。
Passo a passo Crie os arquivos .conf符合示例key-file com或abaixo:$ openssl rand -base64 741 > /var/mongodb/pki/m103-keyfile$ chmod 400 /var/mongodb/pki/m103-keyfile 可以replica-set进行配置。...
MongoDB设置访问权限、设置用户
mongodb的副本集基本的部署过程,采用的是配置文件再添加节点的方式。为应对mongodb的安全性问题,必须加上用户验证流程。附带上了添加不用权限用户验证的部署过程以及测试情况。