您的位置:首页 > 编程语言 > Go语言

Mongobd Replica Set(副本集) 集群搭建

2016-03-14 17:20 507 查看
Mongobd Replica Set(副本集) 集群搭建
1. 建立数据文件夹

在mongodb64(mongo解压出来的文件,本人自己命名为mongodb64)解目录外建立一个文件夹,装载配置文件,如图,红色框部分。Mongodb文件夹中分别建立master,slave,arbiter三个文件夹(注意:主服务器就建立master文件夹,依次类推)

2、建立配置文件:

mongodb_master.conf、mongodb_slave.conf、mongodb_arbiter.conf

#master.conf 主节点 配置

dbpath=/data/local/mongodb/master #数据路径(对应自己的服务器路径即可)

logpath=/data/local/mongodb/logs/master.log #日志路径(对应自己的服务器的路径即可)

pidfilepath=/data/local/mongodb/master.pid(对应自己的服务器的路径即可)

#keyFile=/data/local/mongodb/mongodb.key (对应自己的服务器的路径即可)

directoryperdb=true

logappend=true

replSet=wjpet

bind_ip=主服务器ip (建议使用公网ip)

port=27017 #端口

#auth=true #用户安全验证,true为需要验证

oplogSize=100

fork=true

noprealloc=true

maxConns=5000

#slave.conf 备节点 配置

dbpath=/data/local/mongodb/slave

logpath=/data/local/mongodb/logs/slave.log

pidfilepath=/data/local/mongodb/slave.pid

#keyFile=/data/local/mongodb/mongodb.key

directoryperdb=true

logappend=true

replSet=wjpet

bind_ip=备用节点的ip (建议使用公网ip)

port=27017

#auth=true

oplogSize=100

fork=true

noprealloc=true

maxConns=5000

#arbiter.conf 仲裁节点 配置

dbpath=/data/local/mongodb/arbiter

logpath=/data/local/mongodb/logs/arbiter.log

pidfilepath=/data/local/mongodb/arbiter.pid

#keyFile=/data/local/mongodb/mongodb.key

directoryperdb=true

logappend=true

replSet=wjpet

bind_ip=仲裁节点的ip (建议使用公网ip)

port=27017

#auth=true

oplogSize=100

fork=true

noprealloc=true

maxConns=5000

以上为主节点,备用节点、仲裁节点的配置文件,分别对应自己服务器的即可。

参数解释:
dbpath:数据存放目录
logpath:日志存放路径
pidfilepath:进程文件,方便停止mongodb
directoryperdb:为每一个数据库按照数据库名建立文件夹存放
logappend:以追加的方式记录日志
replSet:replica set的名字
bind_ip:mongodb所绑定的ip地址
port:mongodb进程所使用的端口号,默认为27017
oplogSize:mongodb操作日志文件的最大大小。单位为Mb,默认为硬盘剩余空间的5%
fork:以后台方式运行进程
noprealloc:不预先分配存储

3.启动mongodb

进入每个mongodb节点的bin目录下(通过conf配置文件启动mongo,etc目录下必须找出该文件,如果没有,把文件复制到etc文件夹下)

如:

./monood -f /etc/mongodb_master.conf

./monood -f /etc/ mongodb_slave.conf

./monood -f /etc/mongodb_arbiter.conf

4.配置主,备,仲裁节点(启动完mongo之后,配置)

可以通过客户端连接mongodb,也可以直接在三个节点中选择一个连接mongodb。

如:(进入主服务器bin目录下)

./mongo 10.117.202.195:27017 #ip和port是某个节点的地址

use admin #进入admin目录

cfg={_id:"test",members:[{_id:0,host:'10.117.202.195:27017',priority:2},

{_id:1,host:'10.161.230.244:27017',priority:1},

{_id:2,host:'10.161.191.53:27017',arbiterOnly:true}]

};

rs.initiate(cfg) #初始化,使cfg配置生效

注意: cfg是可以任意的名字,当然最好不要是mongodb的关键字,conf,config都可以。最外层的_id表示replica
set的名字,members里包含的是所有节点的地址以及优先级。优先级最高的即成为主节点,即这里的10.117.202.195:27017。特别注意的是,对于仲裁节点,需要有个特别的配置——arbiterOnly:true。这个千万不能少了,不然主备模式就不能生效。

看到如下信息,说明配置成功



也可以最后通过命令:rs.status() 可以查看副本集的状态

4、看到如下信息,说明配置成功

如:

也可以最后通过命令:rs.status() 可以查看副本集的状态
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: