Ubuntu16.04搭建MongoDB3.4.3 副本集

mongodb副本集介绍:

此处省略300字....

 一、搭建MongoDB副本集

准备三台机器,分别是:

1.192.168.28.217
2.192.168.28.218
3.192.168.28.219  

 二、下载mongodb放在218服务器目录 /data/bigdata/software/ 下

 

#进入mongodb目录 
cd mongodb 
#创建文件夹replset 
mkdir replset 
#进入replset目录 
cd replset 
#创建文件夹 
mkdir data 

  

 三、利用ssh分别向217,219机器上拷贝mongodb

 

scp /data/bigdata/software/mongodb root@192.168.28.217:/data/bigdata/software/

scp /data/bigdata/software/mongodb root@192.168.28.219:/data/bigdata/software/

  

四、此时我们三台机器上分别存在了Mongodb

分别在这三台机器上启动mongodb

217:/data/bigdata/software/mongodb/bin/mongod --dbpath=/data/bigdata/software/mongodb/replset/data/ --replSet repset

218:/data/bigdata/software/mongodb/bin/mongod --dbpath=/data/bigdata/software/mongodb/replset/data/ --replSet repset

219:/data/bigdata/software/mongodb/bin/mongod --dbpath=/data/bigdata/software/mongodb/replset/data/ --replSet repset  

五、启动以后我们发现副本集还没有初始化配置信息,接下来便是初始化副本集

在三台机器上任意一台登陆mongodb(我这里在218上登陆)  

#进入mongodb目录
cd /data/bigdata/software/mongodb/ #进入mongodb bin/mongo
#使用admin数据库
use admin

#输入如下内容:
config=
{_id:"repset",members:[
...{_id:0,host:"192.168.28.217:27017"},
...{_id:1,host:"192.168.28.218:27017"},
...{_id:2,host:"192.168.28.219:27017"}]
}注:红色字体的repset要和上面参数 --replSet repset保持一致.

#执行后输出内容如下:

 #初始化副本集配置

rs.initiate(config);

#输出成功{"ok",1}

#查看日志,副本集启动成功后,218为主节点PRIMARY,217、219为副本节点SECONDARY。

 


#查看集群节点的状态
rs.status()


 

 六、至此整个副本集就搭建成功了,接下来测试副本集数据复制功能

   回到218主节点连接进入终端

   

#建立test数据库

use test

#往testdb插入数据

db.testdb.insert({"test1":"testval1"})

#在副节点217,219上查看数据是否复制过来

#使用test 数据库。

repset:SECONDARY> use test;

repset:SECONDARY> show tables;

#可以看见错误信息:not master and slaveOk

#mongodb默认是从主节点读写数据的,副本节点上不允许读,需要设置副本节点可以读。

repset:SECONDARY> db.getMongo().setSlaveOk();

#可以看到数据已经复制到了副本集。

repset:SECONDARY> db.testdb.find();

  

 

 

参考文章:http://www.csdn.net/article/2014-04-09/2819221-build-high-avialable-mongodb-cluster-part-1/1

   

 

 

 

  

 

posted @ 2017-04-17 17:42  livyling  阅读(1173)  评论(0编辑  收藏  举报