搭建集群规划
主机 | 用途 |
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查看相关信息
以上大致是搭建全部过程,有什么不对的地方还请亲们指正!