Mongodb集群配置搭建

来源:互联网 发布:淘宝开充话费店的知识 编辑:程序博客网 时间:2024/06/05 02:20

服务器配置

主机

端口号

用途

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


0 0