服务器配置
主机 | 端口号 | 用途 |
172.16.161.129 | 27017 | 主节点(master) |
172.16.161.130 | 27017 | 备节点(slave) |
172.16.161.130 | 27019 | 冲裁节点(arbiter) |
一、下载安装mongodb
Mongodb版本:mongodb-linux-x86_64-2.2.6.tgz
下载地址: wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.2.6.tgz
1、 建立文件夹
mkdir –p /opt/mongodb
mkdir -p /data/mongodb/{master,slave,arbiter}
2、 下载mongodb到/opt/mongodb下并解压
wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.2.6.tgz
tar zxf mongodb-linux-x86_64-2.2.6.tgz
3、 建立文件夹,用户存放解压文件
mkdir –p /usr/local/mongodb
mv mongodb-linux-x86_64-2.2.6 /usr/local/mongodb
二、建立配置文件
主节点:
vi /etc/mongodb_master.conf
在mongodb_master.conf中写入如下内容:
#master.conf
dbpath=/data/mongodb/master
logpath=/data/mongodb/master.log
pidfilepath=/data/mongodb/master.pid
#keyFile=/data/mongodb/mongodb.key
directoryperdb=true
logappend=true
replSet=91db
bind_ip=172.16.161.129
port=27017
#auth=true
oplogSize=100
fork=true
noprealloc=true
#maxConns=4000
备节点:
vi /etc/mongodb_slave.conf
在mongodb_slave.conf中写入如下内容:
#slave.conf
dbpath=/data/mongodb/slave
logpath=/data/mongodb/slave.log
pidfilepath=/data/mongodb/slave.pid
#keyFile=/data/mongodb/mongodb.key
directoryperdb=true
logappend=true
replSet=91db
bind_ip=172.16.161.130
port=27017
#auth=true
oplogSize=100
fork=true
noprealloc=true
#maxConns=4000
冲裁节点:
vi /etc/mongodb_arbiter.conf
在mongodb_arbiter.conf中写入如下内容:
#arbiter.conf
dbpath=/data/mongodb/arbiter
logpath=/data/mongodb/arbiter.log
pidfilepath=/data/mongodb/arbiter.pid
#keyFile=/data/mongodb/mongodb.key
directoryperdb=true
logappend=true
replSet=91db
bind_ip=172.16.161.130
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
进入mongodb目录中的bin目录下
./mongod -f /etc/mongodb_master.conf
./mongod -f /etc/mongodb_slave.conf
./mongod -f /etc/mongodb_arbiter.conf
四、在主节点上配置
./mongo 172.16.161.129
>use admin
>cfg={ _id:"91db", members:[{_id:0,host:'172.16.161.129:27017',priority:2},{_id:1,host:'172.16.161.130',priority:1},{_id:2,host:'172.16.161.130:27019',arbiterOnly:true}]};
> rs.initiate(cfg) #使cfg配置生效
说明:
cfg名字可选,只要跟mongodb参数不冲突,_id为Replica Set名字,members里面的优先级priority值高的为主节点,对于仲裁点一定要加上arbiterOnly:true,否则主备模式不生效
查看是否生效:rs.status()
结果显示每天机器的信息,stateStr字段为主备仲裁节点的标志,下面会显示字样:"ok" : 1