当前位置:Gxlcms > 数据库问题 > MongoDB副本集配置

MongoDB副本集配置

时间:2021-07-01 10:21:17 帮助过:3人阅读

dbpath=/app/mongodb/mongodb27017/db logappend=true fork=true logpath=/app/mongodb/mongodb27017/log/mongpdb.log replSet=my_repl

4、分别启动各节点mongod服务

/usr/local/mongodb/bin/mongod -f /app/mongodb/mongodb27017/conf/mongodb27017.conf

5、启动配置为主节点的客户端,配置副本集

> rs.initiate({ _id:"my_repl", members:[{_id:0,host:"192.168.10.1:27017"},{_id:1,host:"192.168.10.2:27017"},{_id:2,host:"10.10.10.1:27017"}] })

#添加仲裁节点,如需要可创建另一个节点作为仲裁节点

> rs.addArb("192.168.10.2:27018")

6、将北京节点的priority设置为0,使其无法被选举为primary节点

my_repl:PRIMARY> cfg = rs.conf()

my_repl:PRIMARY> cfg.members[2].priority=0

my_repl:PRIMARY> rs.reconfig(cfg)

7、测试副本集同步功能及故障自动转移

在主节点写入数据、手动关闭主节点等。略。

 

彩蛋:

在conf里指定directoryperdb为true时,每个数据库都会生成单独的文件夹。然而在rs.initiate()时会出现报错"has data already, cannot initiate set"。

我的操作是创建别的db目录,将conf文件中的directoryperdb去掉,以另外的db目录启动数据库,重新初始化副本集。

 

参考文档:

1、https://blog.csdn.net/qiaqia609/article/details/78900187 安装

2、https://www.cnblogs.com/clsn/p/8214345.html#auto_id_0 副本集介绍

3、https://www.cnblogs.com/phpandmysql/p/7763394.html  conf文件参数详解

 

MongoDB副本集配置

标签:解压   ber   手动   mon   prim   mongo   _id   set   另一个   

人气教程排行