手机版
你好,游客 登录 注册 搜索
背景:
阅读新闻

MongoDB高可用架构—Replica Set 集群实战

[日期:2012-07-06] 来源:Linux公社  作者:linuxops [字体: ]
二、配置relica sets
1.配置两个shard
  1. 30 server: 
  2. /opt/mongodb/bin/mongod -shardsvr -replSet shard1 -port 27021 -dbpath /data0/mongodb/db/shard11 -oplogSize 1000 -logpath /data0/mongodb/logs/shard11.log -logappend  --maxConns 10000 --quiet -fork --directoryperdb 
  3. sleep 2 
  4. /opt/mongodb/bin/mongod -shardsvr -replSet shard2 -port 27022 -dbpath /data0/mongodb/db/shard21 -oplogSize 1000 -logpath /data0/mongodb/logs/shard21.log -logappend  --maxConns 10000 --quiet -fork --directoryperdb
  5. sleep 2 
  6. echo "all mongo started." 
  7.   
  8. 31 server: 
  9. /opt/mongodb/bin/mongod -shardsvr -replSet shard1 -port 27021 -dbpath /data0/mongodb/db/shard12 -oplogSize 1000 -logpath /data0/mongodb/logs/shard12.log -logappend  --maxConns 10000 --quiet -fork --directoryperdb
  10. sleep 2 
  11. numactl --interleave=all /opt/mongodb/bin/mongod -shardsvr -replSet shard2 -port 27022 -dbpath /data0/mongodb/db/shard22 -oplogSize 1000 -logpath /data0/mongodb/logs/shard22.log -logappend  --maxConns 10000 --quiet -fork --directoryperdb
  12. sleep 2 
  13. echo "all mongo started." 
  14.   
  15. 32 server: 
  16. numactl --interleave=all /opt/mongodb/bin/mongod -shardsvr -replSet shard1 -port 27021 -dbpath /data0/mongodb/db/shard13 -oplogSize 1000 -logpath /data0/mongodb/logs/shard13.log -logappend  --maxConns 10000 --quiet -fork --directoryperdb 
  17. sleep 2 
  18. numactl --interleave=all /opt/mongodb/bin/mongod -shardsvr -replSet shard2 -port 27022 -dbpath /data0/mongodb/db/shard23 -oplogSize 1000 -logpath /data0/mongodb/logs/shard23.log -logappend  --maxConns 10000 --quiet -fork --directoryperdb  
  19. sleep 2 
  20. echo "all mongo started." 
 
可以对应的把上面的命令放在一个脚本内,方便启动!
也可以写到配置文件中,通过-f参数来启动!
改成配置文件方式:
  1. shardsvr = true 
  2. replSet = shard1 
  3. port = 27021 
  4. dbpath = /data0/mongodb/db/shard11 
  5. oplogSize = 1000 
  6. logpath = /data0/mongodb/logs/shard11.log 
  7. logappend = true 
  8. maxConns = 10000 
  9. quit=true 
  10. profile = 1 
  11. slowms = 5 
  12. rest = true 
  13. fork = true 
  14. directoryperdb = true 
这样可以通过 mognod -f mongodb.conf来启动了!
 
我这里把这些命令都放入脚本中:
启动脚本(这里只启动mongod,后面有专门启动config和mongos脚本):
 
  1. [root@mon1 sh]# cat start.sh  
  2. /opt/mongodb/bin/mongod -shardsvr -replSet shard1 -port 27021 -dbpath /data0/mongodb/db/shard11 -oplogSize 1000 -logpath /data0/mongodb/logs/shard11.log -logappend  --maxConns 10000 --quiet -fork --directoryperdb 
  3. sleep 2 
  4.   
  5. /opt/mongodb/bin/mongod -shardsvr -replSet shard2 -port 27022 -dbpath /data0/mongodb/db/shard21 -oplogSize 1000 -logpath /data0/mongodb/logs/shard21.log -logappend  --maxConns 10000 --quiet -fork --directoryperdb 
  6. sleep 2 
  7. ps aux |grep mongo 
  8. echo "all mongo started." 
  9.   
  10. [root@mon2 sh]# cat start.sh  
  11. /opt/mongodb/bin/mongod -shardsvr -replSet shard1 -port 27021 -dbpath /data0/mongodb/db/shard12 -oplogSize 1000 -logpath /data0/mongodb/logs/shard12.log -logappend  --maxConns 10000 --quiet -fork --directoryperdb   
  12. sleep 2 
  13. /opt/mongodb/bin/mongod -shardsvr -replSet shard2 -port 27022 -dbpath /data0/mongodb/db/shard22 -oplogSize 1000 -logpath /data0/mongodb/logs/shard22.log -logappend  --maxConns 10000 --quiet -fork --directoryperdb   
  14. sleep 2 
  15. ps aux |grep mongo 
  16. echo "all mongo started." 
  17.   
  18. [root@mongo03 sh]# cat start.sh  
  19. /opt/mongodb/bin/mongod -shardsvr -replSet shard1 -port 27021 -dbpath /data0/mongodb/db/shard11 -oplogSize 1000 -logpath /data0/mongodb/logs/shard11.log -logappend  --maxConns 10000 --quiet -fork --directoryperdb  --keyFile=/opt/mongodb/sh/keyFile 
  20. sleep 2 
  21. /opt/mongodb/bin/mongod -shardsvr -replSet shard2 -port 27022 -dbpath /data0/mongodb/db/shard21 -oplogSize 1000 -logpath /data0/mongodb/logs/shard21.log -logappend  --maxConns 10000 --quiet -fork --directoryperdb  --keyFile=/opt/mongodb/sh/keyFile 
  22. sleep 2 
  23. echo "all mongo started." 

 
PS:要是想开启一个HTTP协议的端口提供rest服务,可以在mongod启动参数中加上 --rest 选项!
这样我们可以通过 http://IP:28021/_replSet 查看状态!
 
生产环境推荐用配置文件和脚本文件方式启动。
linux
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款