一。 單機部署啟動
1. 直接下載相關mongodb_linux安裝包,至linux環境下,解壓即可。
2. 啟動mongoDB
/data/program/mongo/mongodb-linux-x86_64-2.6.6/bin/mongod --port 8050 --fork --dbpath=/data/program/mongo/data/ --logpath=/data/program/mongo/log/mongodb.log --logappend
./mongod --port 27017 --fork --dbpath=/home/wuly/mongo/data/ --logpath=/home/wuly/mongo/log/mongodb.log --logappend
3. ./mongo --port=8050
針對這個連接埠進行用戶端查詢
=================================================================================================
二。 複本集的部署啟動方式
Replica Set
中文翻譯叫做複本集,不過我並不喜歡把英文翻譯成中文,總是感覺怪怪的。其實簡單來說就是叢集當中包含了多份資料,保證主節點掛掉了,備節點能繼續提供資料服務,提供的前提就是資料需要和主節點一致。如下圖:
Mongodb(M)表示主節點,Mongodb(S)表示備節點,Mongodb(A)表示仲裁節點。主備節點儲存資料,仲裁節點不儲存資料。用戶端同時串連主節點與備節點,不串連仲裁節點。
預設設定下,主節點提供所有增刪查改服務,備節點不提供任何服務。但是可以通過設定使備節點提供查詢服務,這樣就可以減少主節點的壓力,當用戶端進行資料查詢時,請求自動轉到備節點上。這個設定叫做Read Preference Modes,同時Java用戶端提供了簡單的配置方式,可以不必直接對資料庫進行操作。
仲裁節點是一種特殊的節點,它本身並不儲存資料,主要的作用是決定哪一個備節點在主節點掛掉之後提升為主節點,所以用戶端不需要串連此節點。這裡雖然只有一個備節點,但是仍然需要一個仲裁節點來提升備節點層級。我開始也不相信必須要有仲裁節點,但是自己也試過沒仲裁節點的話,主節點掛了備節點還是備節點,所以咱們還是需要它的。
介紹完了叢集方案,那麼現在就開始搭建了。
1.建立資料檔案夾
一般情況下不會把資料目錄建立在mongodb的解壓目錄下,不過這裡方便起見,就建在mongodb解壓目錄下吧。
[plain] view plain copy mkdir -p /mongodb/data/master mkdir -p /mongodb/data/slaver mkdir -p /mongodb/data/arbiter #三個目錄分別對應主,備,仲裁節點
2.建立設定檔
由於配置比較多,所以我們將配置寫到檔案裡。
[plain] view plain copy #master.conf dbpath=/mongodb/data/master logpath=/mongodb/log/master.log pidfilepath=/mongodb/master.pid directoryperdb=true logappend=true replSet=testrs bind_ip=10.10.148.130 port=27017 oplogSize=10000 fork=true noprealloc=true [plain] view plain copy #slaver.conf dbpath=/mongodb/data/slaver logpath=/mongodb/log/slaver.log pidfilepath=/mongodb/slaver.pid directoryperdb=true logappend=true replSet=testrs bind_ip=10.10.148.131 port=27017 oplogSize=10000 fork=true noprealloc=true [plain] view plain copy #arbiter.conf dbpath=/mongodb/data/arbiter logpath=/mongodb/log/arbiter.log pidfilepath=/mongodb/arbiter.pid directoryperdb=true logappend=true replSet=testrs bind_ip=10.10.148.132 port=27017 oplogSize=10000 fork=true noprealloc=true 參數解釋:
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目錄下
[java] view plain copy ./monood -f master.conf ./mongod -f slaver.conf ./mongod -f arbiter.conf
注意設定檔的路徑一定要保證正確,可以是相對路徑也可以是絕對路徑。
4.配置主,備,仲裁節點
可以通過用戶端串連mongodb,也可以直接在三個節點中選擇一個串連mongodb。