当前位置:Gxlcms > 数据库问题 > MongoDB复制集环境搭建

MongoDB复制集环境搭建

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

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://suifu.blog.51cto.com/9167728/1853478

 

 

环境介绍:

192.168.1.250 主  port=27408

192.168.1.250 仲裁 port=27409

192.168.1.251 备  port=27408

 

 

[root@HE4 ~]# tar xvf mongodb-linux-x86_64-2.6.10.tgz

[root@HE4 ~]# mkdir -p /export/mongodb

[root@HE4 ~]# mkdir -p /export/mongodb/bin

[root@HE4 ~]# mkdir -p /export/mongodb/conf

[root@HE4 ~]# mkdir -p /export/mongodb/log

[root@HE4 ~]# mkdir -p /export/mongodb/data

[root@HE4 bin]# cd /root/mongodb-linux-x86_64-2.6.10/bin

[root@HE4 bin]# cp /root/mongodb-linux-x86_64-2.6.10/bin/* /export/mongodb/bin/

[root@HE1 bin]# vi /export/mongodb/conf/mongod.conf

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 port=27408 dbpath=/export/mongodb/data logpath=/export/mongodb/log/mongod.log fork=true logappend=true keyFile=/export/mongodb/key/mongod nohttpinterface=true replSet=shard1 [root@HE1 bin]# vi /export/mongodb/conf/arbiter.conf port=27409 dbpath=/export/mongodb/arbiter logpath=/export/mongodb/log/arbiter.log fork=true logappend=true keyFile=/export/mongodb/key/arbiter nohttpinterface=true replSet=shard1

 

keyfile文件包括:

mongod,arbiter

 

创建一个生成keyfile的脚本

vi create_key.sh

1 2 3 4 5 cat /dev/urandom | LC_ALL=C tr -dc "[:alnum:]" fold -w 10 |head -1 >/tmp/key.txt keystring=`cat /tmp/key.txt` echo $keystring >/export/mongodb/key/mongod echo $keystring >/export/mongodb/key/arbiter chmod 600 /export/mongodb/key/*

 

启动服务器在主

[root@HE3 ~]#/export/mongodb/bin/mongod -f /export/mongodb/conf/mongod.conf

[root@HE3 ~]# /export/mongodb/bin/mongod -f /export/mongodb/conf/arbiter.conf

在从

[root@HE4 ~]#/export/mongodb/bin/mongod -f /export/mongodb/conf/mongod.conf

 

 

>config={_id:‘shard1‘,members:[{_id:0,host:‘192.168.1.248:27408‘},{_id:1,host:‘192.168.1.249:27408‘},{_id:2,host:‘192.168.1.248:27409‘,arbiterOnly:true}]}

 

 

 

>rs.initiate(config)

初始化rs.initiate(config),config是之前定义的名

 

主备库配置好后,备库查询

1 2 3 4 5 6 7 shard1:SECONDARY> use test switched to db test shard1:SECONDARY> db.t1.find() error: { "$err" "not master and slaveOk=false""code" : 13435 } shard1:SECONDARY> rs.slaveOk() shard1:SECONDARY> db.t1.find() "_id" : ObjectId("5704c11d3e0651733bfdea23"), "x" : 1 }

 

rs.stauts()可以看状态,health:1代表健康,stateStr谁是我们的仲裁

想让主库降级成从库,rs.stepDown()

 

本文出自 “岁伏” 博客,请务必保留此出处http://suifu.blog.51cto.com/9167728/1853478

MongoDB复制集环境搭建

标签:

人气教程排行