环境介绍:
192.168.1.250 主 port=27408
192.168.1.250 仲裁 port=27409
192.168.1.251 备 port=27408
[iyunv@HE4 ~]# tar xvf mongodb-linux-x86_64-2.6.10.tgz
[iyunv@HE4 ~]# mkdir -p /export/mongodb
[iyunv@HE4 ~]# mkdir -p /export/mongodb/bin
[iyunv@HE4 ~]# mkdir -p /export/mongodb/conf
[iyunv@HE4 ~]# mkdir -p /export/mongodb/log
[iyunv@HE4 ~]# mkdir -p /export/mongodb/data
[iyunv@HE4 bin]# cd /root/mongodb-linux-x86_64-2.6.10/bin
[iyunv@HE4 bin]# cp /root/mongodb-linux-x86_64-2.6.10/bin/* /export/mongodb/bin/
[iyunv@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
[iyunv@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/*
启动服务器在主
[iyunv@HE3 ~]#/export/mongodb/bin/mongod -f /export/mongodb/conf/mongod.conf
[iyunv@HE3 ~]# /export/mongodb/bin/mongod -f /export/mongodb/conf/arbiter.conf
在从
[iyunv@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()
运维网声明
1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com