日期:2014-05-16  浏览次数:20402 次

搭建mongodb副本集
1. 下载mongodb
wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-1.8.4.tgz


2. 安装mongodb(node1)
tar -zxvf mongodb-linux-x86_64-1.8.4.tgz
mv mongodb-linux-i686-1.8.4 /opt/mongodb/node1/monmongodb-linux-i686-1.8.4


3. 创建db
mkdir /data/mongodb/dbs/node1 -p


4. 创建日志
mkdir /data/mongodb/logs/node1 -p
touch /data/mongodb/logs/node1/log


4. 创建启动脚本initConfig
dbpath=/data/mongodb/dbs/node1
fork=true
logpath=/data/mongodb/logs/node1/log
logappend=true
rest=true
port=27001
# replSet=replSet/192.168.1.254:27002,replSet/192.168.1.253:27001
# auth=true


5. 修改启动脚本:startup.sh
/opt/mongodb/node1/mongodb-linux-i686-1.8.4/bin/mongod --config /opt/mongodb/node1/mongodb-linux-i686-1.8.4/config/initConfig


6. 创建关机脚本(一般机房不会断电):shutdown.sh
PIDS=$(ps aux | grep mongo | tr -s '     ' '|' | cut -d '|' -f 2)
for PID in $PIDS
do
    kill -2 $PID
    echo shutdown mongodb process
done


7. 启动mongodb
/opt/mongodb/node1/mongodb-linux-i686-1.8.4/bin/mongod --config /opt/mongodb/node1/mongodb-linux-i686-1.8.4/config/initConfig


8. 对外开放端口27001,28001
sudo vi /etc/sysconfig/iptables
sudo /sbin/service iptables restart


9. 依照以上方法增加2个mongodb服务,并启动

10. 搭建replSet
/opt/mongodb/node1/mongodb-linux-i686-1.8.4/bin/mongo $host:$port/admin
rs.initiate()
rs.add("$anotherHost:$port");


10. 增加mongodb管理员和普通用户
use admin
db.addUser("root", "xxxx")

use appdb
db.addUser("admin", "xxxx")
db.addUser("readonly", "xxxx", true)