MongoDB的复制集是由传统的master/slave结构演变而来的,是一组拥有相同数据集的MongoDB实例所组成的集群,所说的复制其实就是将数据同步在多台服务器的过程。git
复制集提供了数据的冗余备份,并在多个服务器上存储数据的副本,提升了数据的可用性,保证了数据的安全。github
复制集至少须要两个节点:主节点和从节点。主节点负责处理客户端的请求,并记录在其上的全部写操做的oplog,而从节点按期轮询主节点来获取这oplog,并在本身的数据副本执行这些操做。mongodb
下载 https://github.com/mongodb/mongo 版本看本身要求vim
具体操做安全
#准备 sudo cp mongo-2.6.zip /usr/local sudo unzip mongo-2.6.zip sudo mv mongo-2.6 mongo26 cd mongo26 sudo apt-get install scons sudo scons all cd /alidata #配置文件 sudo mkdir -p mongodb/conf cd /alidata/mongodb/conf sudo vim 28001.conf 插入以下内容: bind_ip=10.0.13.13 port=28001 logpath=/alidata/mongodb/log/28001.log logappend=true dbpath=/alidata/mongodb/data/28001 pidfilepath=/alidata/mongodb/data/28001/28001.pid replSet=teddy oplogSize=40960 :wq sudo cp 28001.conf 28002.conf sudo sed -i 's/28001/28002/g' 28002.conf sudo cp 28001.conf 28003.conf sudo sed -i 's/28001/28003/g' 28003.conf #数据目录 sudo mkdir -p mongodb/data sudo mkdir -p mongodb/data/28001 sudo mkdir -p mongodb/data/28002 sudo mkdir -p mongodb/data/28003 #日志目录 sudo mkdir -p mongodb/log #启动 sudo /usr/local/mongo26/mongod --config /alidata/mongodb/conf/28001.conf sudo /usr/local/mongo26/mongod --config /alidata/mongodb/conf/28002.conf sudo /usr/local/mongo26/mongod --config /alidata/mongodb/conf/28003.conf #检查 ps -ef |grep 'mongod' netstat -tlnp #链接并配置 /usr/local/mongo26/mongo 10.0.13.13:28001 rs.initiate( {"_id":"teddy","members":[{"_id":1,"host":"10.0.13.13:28001"},{"_id":2,"host":"10.0.13.13:28002"},{"_id":3,"host":"10.0.13.13:28003"}]}) #能够指定某个为选举节点 rs.initiate( {"_id":"teddy","members":[{"_id":1,"host":"10.0.13.13:28001"},{"_id":2,"host":"10.0.13.13:28002"},{"_id":3,"host":"10.0.13.13:28003","arbiterOnly":true}]}) #退出重连 /usr/local/mongo26/mongo 10.0.13.13:28001