MongoDB replica sets搭建及使用

由于机器紧张,没办法搞分片(sharding),而只是用了复制集这个功能,一下介绍下自己这几天的实验。

环境:

目录结构

mongo_data

|--conf

    |--config.js

    |--rs0.cnf

    |--rs1.cnf

    |--rs2.cnf

|--data

    |--r0

    |--r1

    |--r2

|--key

    |--r0

    |--r1

    |--r2

|--log

    |--r0.log

    |--r1.log

    |--r2.log

|--run

    |--run_config.sh

   |--run_rs0.sh

   |--run_rs1.sh

   |--run_rs2.sh

举几个文件,其他类似:

rs0.cnf:

[plain]
  1. replSet=rs1  
  2. keyFile=/home/madding/output/mongodb/replica_set/key/r0  
  3. dbpath=/home/madding/output/mongodb/replica_set/data/r0  
  4. logpath=/home/madding/output/mongodb/replica_set/log/r0.log  
  5. port=10240  

config.js:

[javascript]
  1. var config_rs1={  
  2.     _id:'rs1',  
  3.     members:[  
  4.         {_id:0, host:'127.0.0.1:10240', priority:1},  
  5.         {_id:1, host:'127.0.0.1:11240'},  
  6.         {_id:2, host:'127.0.0.1:12240'}]  
  7. }  
  8.   
  9. rs.initiate(config_rs1);  
  10.   
  11. rs.slaveOk();  
  12.   
  13. printjson('status info:');  
  14. printjson(rs.status());  
  15.   
  16. printjson('result info: ');  
  17. printjson(rs.isMaster());  

r0:

[java]
  1. ANKDIUOJHKJDLKFJHDOUDOJFKLDJ  

随便复杂,保证r0,r1,r2一致即可

run_config.sh:

[plain]
  1. !/bin/bash  
  2.   
  3. MONGODB_HOME=/usr/mytools/mongodb  
  4.   
  5. $MONGODB_HOME/bin/mongo ../conf/config.js --port 10240 --quiet  
  6.   
  7. exit  

run_rs0.sh:

[plain]
  1. #!/bin/bash  
  2.   
  3. MONGODB_HOME=/usr/mytools/mongodb  
  4.   
  5. $MONGODB_HOME/bin/mongod -f ../conf/rs0.cnf --logappend --fork  
  6.   
  7. exit  

相关推荐