1.1 主从:
mongodb支持一主多从复制,这个是最简答的集群搭建,不过准确说也不能算是集群,只能说是主备。并且官方已经不推荐这种方式,所以在这里只是简单的介绍下吧,搭建方式也相对简单。
1下载文件
网址:http://www.mongodb.org/downloads 下载你所需要的版本
最新版本为:mongodb-linux-x86_64-2.4.7.tgz 并放在/u01/mongo
2部署方式
Master节点:/u01/mongo/bin/mongod--dbpath=/u01/mongodb/dbs/ --logpath=/u01/mongodb/logs/mongodb.log --port 10000 --master --fork
Slave节点:/u01/mongo/bin/mongod--dbpath=/u01/mongodb/dbs/ --logpath=/u01/mongodb/logs/mongodb.log --port 10000 --slave --source 192.168.191.150:10000 --fork
3 查看节点状态
rs.isMaster()
db.printReplicationInfo()
4 主从切换切换
(1)如果主服务器宕机了,
此时需要用slave机器来顶替master 服务
步骤如下:
#停止主机 进程(mongod)
kill -2 `ps -ef|grep mongod|grep -v grep|awk'{print $2}'`
#删除slave机器 数据目录中的local.*
rm -rf /u01/data/mongodb/db/local.*
#以–master 模式启动slave
/u01/mongo/bin/mongod--dbpath=/u01/mongodb/dbs/ --logpath=/u01/mongodb/logs/mongodb.log --port 10000 --master --fork
(2)主备正常切换
具体步骤如下:
用fsync 命令暂停 主库 上的写操作,
关闭 从库 上的服务
清空 从库 上的local.*文件
用-master 选项重启 从库 服务
在 从库 上执行一次写操作,初始化oplog,获得一个同步起始点
关闭 从库 服务,此时 从库 已经有了新的local.*文件
关闭 主库 服务,并且用 从库 上新的local.*文件来代替主库 上的local.*文件(建议先压缩再COPY)
用-master 选项重启 从库 服务
在启动slave的选项上加一个-fastsync 选项来重启主库 服务