Mongodb集羣搭建配置

Mongodb集羣有三種模式:   Replica Set 、 Sharding、Master-Slaver
這裏舉例說明 Replica Set的搭建方式
Mongodb版本:mongodb-linux-x86_64-2.2.6.tgz

Mongodb的安裝配置很簡單,下載源碼包解壓後配置參數啓動便可linux


服務器分佈狀況
主機 用途
192.168.1.100 主節點(master)
192.168.1.101 備節點+仲裁點(slave+arbiter)
1、在每臺機器上解壓源包並創建數據目錄:
tar zxf mongodb-linux-x86_64-2.2.6.tgz
mv mongodb-linux-x86_64-2.2.6 /usr/local/mongodb
mkdir -p /data/mongodb/{master,slave,arbiter }
2、創建配置文件:
主節點:
vi /etc/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=192.168.1.100
port=27017
#auth=true
oplogSize=100
fork=true
noprealloc=true
#maxConns=4000

備節點:
vi /etc/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=192.168.1.101
port=27017
#auth=true
oplogSize=100
fork=true
noprealloc=true
#maxConns=4000

仲裁點:
vi /etc/ 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=192.168.1.101
port=27019
#auth=true
oplogSize=100
fork=true
noprealloc=true
#maxConns=4000


備註:mongodb

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

3、啓動mongodb(能夠相對路徑也能夠絕對路徑)
/usr/local/mongodb/bin/mongod -f /etc/mongodb_master.conf
/usr/local/mongodb/bin/mongod -f /etc/mongodb_slave.conf
/usr/local/mongodb/bin/mongod -f /etc/mongodb_arbiter.conf
4、在主節點上配置
/usr/local/mongodb/bin/mongo 192.168.1.100     #由於備節點和仲裁點在同一個機器以端口區分,因此登錄時要加上端口
>use admin
>cfg={ _id:"91db", members:[ {_id:0,host:'192.168.1.100:27017',priority:2},{_id:1,host:'192.168.1.101:27017',priority:1},{_id:2,host:'192.168.1.101:27019',arbiterOnly:true}] };
> rs.initiate(cfg)          #使cfg配置生效
說明:
cfg名字可選,只要跟mongodb參數不衝突,_id爲 Replica Set名字,members裏面的優先級priority值高的爲主節點,對於仲裁點必定要加上arbiterOnly:true,不然主備模式不生效
查看是否生效: rs.status()
結果顯示天天機器的信息, stateStr字段爲主備仲裁節點的標誌,下面會顯示字樣:"ok" : 1
相關文章
相關標籤/搜索