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

来源:互联网 发布:星空软件安卓版 编辑:程序博客网 时间:2024/05/01 10:09

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

1.    建立数据文件夹

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


2建立配置文件:

mongodb_master.confmongodb_slave.confmongodb_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:以追加的方式记录日志

replSetreplica set的名字

bind_ipmongodb所绑定的ip地址

portmongodb进程所使用的端口号,默认为27017

oplogSizemongodb操作日志文件的最大大小。单位为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的关键字,confconfig都可以。最外层的_id表示replica set的名字,members里包含的是所有节点的地址以及优先级。优先级最高的即成为主节点,即这里的10.117.202.195:27017。特别注意的是,对于仲裁节点,需要有个特别的配置——arbiterOnly:true。这个千万不能少了,不然主备模式就不能生效。


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

 

 

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

 

 

 

 

 

 

 

 

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

如:

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

1 0
原创粉丝点击