MongoDB复制集环境搭建

原创作品,允许转载,转载时请务必以超链接形式标明文章  原始出处 、作者信息和本声明。否则将追究法律责任。 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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要配置一个MongoDB复制环境,你可以按照以下步骤进行操作: 1. 创建并编辑三个不同的配置文件,例如`mongod.conf`,分别指定不同的端口、数据目录和日志文件路径。你可以使用命令`mongod --config /path/to/config/file`来指定配置文件启动MongoDB实例。 MongoDB官方文档-启动实例的配置文件:https://docs.mongodb.com/manual/tutorial/manage-mongodb-processes/#start-instances-with-configuration-files SegmentFault-《MongoDB高手课》学习记录(第七天): https://segmentfault.com/a/1190000021402232?utm_source=sf-similar-article<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [MongoDB 复制环境搭建](https://blog.csdn.net/qq_21344887/article/details/124381980)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [MongoDB复制原理和配置](https://blog.csdn.net/SongD1114/article/details/124230661)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值