1.架构介绍
副本集架构
主节点(primary):一个
副本节点(secondary):与主节点保持同样的数据集,主节点挂掉时候,参与选主
仲裁者(arbiter):只进行选主投票
2.安装部署
下载MongoDB
选择三台服务器
进入mongodb目录,新建两个文件夹data、logs
进入bin目录,新建配置文件mongodb.conf
dbpath=/mongodbdir/data
logpath=/mongodbdir/logs
port=27017
fork=true
分别三台服务器上启动
bin/mongod -replSet repset -f mongodb.conf
已上单机启动
next
选择任意一台登录
bin/mongo
使用admin数据库
use admin
定义副本集配置变量
config={
_id:"repset", //此处跟 -replSet repset保持一致
members:[
{
_id:0,
host:""
},
{
_id:1,
host:""
},
{
_id:2,
host:""
}
]
}
初始化副本集群
rs.initiate(config)
返回{"ok":1}表示成功
查看集群节点的状态
rs.status()
3.测试集群功能
主节点连接到终端
mongo 127.0.0.1
连接test数据库
use test
往testdb插入数据
db.testdb.insert({“key1”:“val1”})
在副本节点连接查询
mongo ip:27017
使用test数据库use test
查询表格:show tables
mongodb默认从主节点读取数据,副本节点不允许读取,设置副本节点可读
db.getMongo().setSlaveOk()
然后可以查询复制过来的数据了
db.testdb.find()
测试集群的恢复功能
去掉主节点,观察另外两个节点中有一个会变为primary
客户端工具:
https://robomongo.org/