Mongodb集羣搭建配置

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

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


服務器分佈情況
主機用途
192.168.1.100主節點(master)
192.168.1.101備節點+仲裁點(slave+arbiter)
一、在每臺機器上解壓源包並建立數據目錄:
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}
二、建立配置文件:
主節點:
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


備註:

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(可以相對路徑也可以絕對路徑)
/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
四、在主節點上配置
/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



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章