30分钟完成MongoDB复制集环境搭建



环境介绍:

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

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

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是之前定义的名


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

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()


优秀的个人博客,低调大师

微信关注我们

原文链接:https://blog.51cto.com/suifu/1853478

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
Mario,低调大师唯一一个Java游戏作品

Mario,低调大师唯一一个Java游戏作品

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Apache Tomcat7、8、9(Java Web服务器)

Apache Tomcat7、8、9(Java Web服务器)

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

Java Development Kit(Java开发工具)

Java Development Kit(Java开发工具)

JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。

Sublime Text 一个代码编辑器

Sublime Text 一个代码编辑器

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。