1. 当前位置:网站首页 > CentOS相关

Mongodb集群搭建配置


Mongodb集群有三种模式:  Replica Set 、 Sharding、Master-Slaver

这里举例说明Replica Set的搭建方式
Mongodb版本:mongodb-linux-x86_64-2.2.6.tgz

Mongodb的安装配置很简单,下载源码包解压后配置参数启动即可


服务器分布情况
主节点IP     10.7.10.228  

备节点IP     10.7.10.229

仲裁点IP     10.7.10.230

一、在每台机器上解压源包并建立数据目录:

tar zxf mongodb-linux-x86_64-2.2.6.tgz

mv mongodb-linux-x86_64-2.2.6 /home/mongodb

mkdir -p /home/mongodb/logs

mkdir -p /home/mongodb/master                 ---在主节点服务器10.7.10.228上创建master目录

mkdir -p /home/mongodb/slave                    ---在备节点服务器10.7.10.229上创建master目录

mkdir -p /home/mongodb/arbiter               --在仲裁点服务器10.7.10.230上创建arbiter目录

mkdir -p /home/mongodb/master.pid    ---在主节点服务器10.7.10.228上创建master目录

mkdir -p /home/mongodb/slave.pid             ---在备节点服务器10.7.10.229上创建master目录

mkdir -p /home/mongodb/arbiter.pid         --在仲裁点服务器10.7.10.230上创建arbiter目录


二、建立配置文件:
主节点:
vi /home/mongodb/mongodb_master.conf
#master.conf
dbpath=/home/mongodb/master
logpath=/home/mongodb/logs/master.log
pidfilepath=/home/mongodb/master.pid
#keyFile=/home/mongodb/mongodb.key
directoryperdb=true
logappend=true
replSet=slb
bind_ip=10.7.10.228  
port=27017
#auth=true
oplogSize=100
fork=true
noprealloc=true
#maxConns=4000

备节点:
vi /home/mongodb/mongodb_slave.conf
#slave.conf
dbpath=/home/mongodb/slave
logpath=/home/mongodb/logs/slave.log
pidfilepath=/home/mongodb/slave.pid
#keyFile=/home/data/mongodb.key
directoryperdb=true
logappend=true
replSet=slb
bind_ip=10.7.10.229
port=27017
#auth=true
oplogSize=100
fork=true
noprealloc=true
#maxConns=4000

仲裁点:

vi /home/mongodb/mongodb_arbiter.conf


#arbiter.conf
dbpath=/home/mongodb/arbiter
logpath=/home/mongodb/logs/arbiter.log
pidfilepath=/home/mongodb/arbiter.pid
#keyFile=/home/mongodb/mongodb.key
directoryperdb=true
logappend=true
replSet=slb
bind_ip=10.7.10.230
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(可以相对路径也可以绝对路径)
/home/mongodb/bin/mongod -f /home/mongodb/mongodb_master.conf
/home/mongodb/bin/mongod -f /home/mongodb/mongodb_slave.conf
/home/mongodb/bin/mongod -f /home/mongodb/mongodb_arbiter.conf
四、在主节点上配置
/home/mongodb/bin/mongo 10.7.10.228     #因为备节点和仲裁点在同一个机器以端口区分,所以登陆时要加上端口
>use admin
>cfg={ _id:"slb", members:[ {_id:0,host:'10.7.10.228:27017',priority:2},{_id:1,host:'10.7.10.229:27017',priority:1},{_id:2,host:'10.7.10.230:27019',arbiterOnly:true}] };
> rs.initiate(cfg)          #使cfg配置生效
说明:
cfg名字可选,只要跟mongodb参数不冲突,_id为Replica Set名字,members里面的优先级priority值高的为主节点,对于仲裁点一定要加上arbiterOnly:true,否则主备模式不生效
查看是否生效:rs.status()

结果显示每天机器的信息,stateStr字段为主备仲裁节点的标志,下面会显示字样:"ok" : 1

QA:

如果服务起不来,记得开IPTABLET



本文最后更新于2017-7-18,已超过 3个月没有更新,如果文章内容或图片资源失效,请留言反馈,我们会及时处理,谢谢!
版权说明

本文地址:https://www.chensj.net/?post=71
未标注转载均为本站远程,转载请注明文章出处:

联系我们

在线咨询:点击这里给我发消息

微信号:chensj923

工作日:9:00-23:00,节假日休息

扫码关注