搭建集群规划
主机
用途
10.xxx.xx.111
主节点(主)
10.xxx.xx.112
备节点+仲裁点(从+仲裁器)
一,下载安装包
1:首先官网下载的的Linux的安装包下载的社区版
https://www.mongodb.com/download-center#community
在linux上下载即可wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel62-4.0.2.tgz
2:下载完毕后解压到/ opt下
创建数据目录
在111机器上创建mkdir / data / mongodb / master
在112机器上创建mkdir / data / mongodb / slave
二,创建配置文件
主节点111上:vi /etc/mongodb_master.conf
配置如下
#master.conf
dbpath=/data/mongodb/master
logpath=/opt/mongodb/master/logs/master.log
pidfilepath=/opt/mongodb/master.pid
keyFile=/opt/mongodb/master/mongodb.key
directoryperdb=true
logappend=true
replSet=testdb
bind_ip=0.0.0.0
port=27017
auth=true
oplogSize=100
fork=true
noprealloc=true
#maxConns=4000
从节点112机器:vi /etc/mongodb_slave.conf
#slave.conf
dbpath=/data/mongodb/slave
logpath=/opt/mongodb/slave/logs/slave.log
pidfilepath=/opt/mongodb/slave.pid
keyFile=/opt/mongodb/slave/mongodb.key
directoryperdb=true
logappend=true
replSet=testdb
bind_ip=0.0.0.0
port=27017
auth=true
oplogSize=100
fork=true
noprealloc=true
#maxConns=4000
仲裁点112机器上:vi /etc/mongodb_arbiter.conf
#arbiter.conf
dbpath=/data/mongodb/arbiter
logpath=/opt/mongodb/arbiter/logs/arbiter.log
pidfilepath=/opt/mongodb/arbiter.pid
keyFile=/opt/mongodb/arbiter/mongodb.key
directoryperdb=true
logappend=true
replSet=testdb
bind_ip=0.0.0.0
port=27019 注意这里的端口
auth=true
oplogSize=100
fork=true
noprealloc=true
#maxConns=4000
备注:
keyFile和auth选项要在集群配置好后,并且添加了验证用户后在启用
参数说明:
dbpath:存放数据目录
logpath:日志数据目录
pidfilepath:pid文件
keyFile:节点之间用于验证文件,内容必须保持一致,权限600,仅Replica Set 模式有效
directoryperdb:数据库是否分目录存放
logappend:日志追加方式存放
replSet:Replica Set的名字
bind_ip:mongodb绑定的ip地址
port:端口
auth:是否开启验证
oplogSize:设置oplog的大小(MB)
fork:守护进程运行,创建进程
moprealloc:是否禁用数据文件预分配(往往影响性能)
maxConns:最大连接数,默认2000
三,启动MongoDB中的以上配置文件详细说明:
/opt/mongodb/mongodb4.0/bin/mongod -f /etc/mongodb_master.conf
/opt/mongodb/mongodb4.0/bin/mongod -f /etc/mongodb_slave.conf
/opt/mongodb/mongodb4.0/bin/mongod -f /etc/mongodb_arbiter.conf
四,在主节点111上进行配置
连接的MongoDB进行集群配置
配置集群(因为已经配置过,所以下面的IP只是案例)
cfg={ _id:"testdb", members:[ {_id:0,host:'192.168.255.141:27017',priority:2}, {_id:1,host:'192.168.255.142:27017',priority:1}, {_id:2,host:'192.168.255.142:27019',arbiterOnly:true}] }; rs.initiate(cfg)
rs.initiate(CFG)
说明:
CFG名字可选,只要跟MongoDB的参数不冲突,_id为副本集名字,成员里面的优先级优先值高的为主节点,对于仲裁点一定要加上arbiterOnly:真,否则主备模式不生效
优先级表示优先级别,数值越大,表示是主节点
arbiterOnly:真表示仲裁节点
使集群CFG配置生效rs.initiate(CFG)
查看是否生效rs.status()如下显示的话表示配置成功
“stateStr”:“主”表示主节点,“stateStr”:“二级”表示从节点,“stateStr”:“仲裁器”,表示仲裁节点
添加和移除节点命令
添加中学:rs.add({主机:“192.168.255.141:27019”,优先级:1})
添加仲裁点:rs.addArb(“192.168.255.142:27019”)
移除节点:rs.remove({主机:“192.168.255.141:27019”})
在主节点命令行中输入rs.isMaster查看相关信息
以上大致是搭建全部过程,有什么不对的地方还请亲们指正!