replica set準確講不完全是集群,只是乙個主從複製的加強版
概念如下:
primary:主節點客戶端寫操作發生在這裡。
secondary:副本,可以負載讀操作,通過複製primary的oplog來實現資料同步
arbiter:仲裁節點,作用是當primary宕掉之後從secondarys選擇乙個變成primary
環境準備:
linux系統版本:
$ cat /proc/version
linux version 2.6.32-358.el6.x86_64 ([email protected]) (gcc version 4.4.7 20120313 (red hat 4.4.7-3) (gcc) ) #1 smp tue jan 29 11:47:41 est 2013
三颱伺服器,詳情如下:
192.168.38.17 --primary
192.168.38.18 --secondary
192.168.38.19 --arbiter
mongodb版本:
mongodb-linux-x86_64-2.6.9
安裝部署:
1.配置primary.conf,secondary.conf和arbiter.conf
#primary.conf:
#primary.conf
dbpath=/home/admin/data/p
logpath=/home/admin/log/primary.log
pidfilepath=/home/admin/data/primary.pid
directoryperdb=true
replset=testrs
bind_ip=192.168.38.17
port=27017
oplogsize=10000
fork=true
noprealloc=true
#secondary.conf:
#secondary.conf
dbpath=/home/admin/data/s
logpath=/home/admin/log/secondary.log
pidfilepath=/home/admin/data/secondary.pid
directoryperdb=true
replset=testrs
bind_ip=192.168.38.18
port=27017
oplogsize=10000
fork=true
noprealloc=true
#arbiter.conf:
dbpath=/home/admin/data/a
logpath=/home/admin/log/arbiter.log
pidfilepath/home/admin/data/arbiter.pid
directoryperdb=true
replset=testrs
bind_ip=192.168.38.19
port=27017
oplogsize=10000
fork=true
noprealloc=true
上述配置檔案最好在每個集群上都放置,這樣就能保證配置檔案一致
2.啟動
分別在不同的節點上載入不同的配置
192.168.38.17啟動:
bin/mongod -f /home/admin/mongodb/primary.conf
192.168.38.18啟動:
bin/mongod -f /home/admin/mongodb/secondary.conf
192.168.38.19啟動:
bin/mongod -f /home/admin/mongodb/arbiter.conf
3.登陸系統配置各個節點
bin/mongo 192.168.38.17:27017
執行如下命令:
>use admin
>cfg=,,]
}; >rs.initiate(cfg)
此時配置已生效,可以通過命令檢視相應的資訊
4.檢視目前各個節點的狀態:
rs.status()
結果如下:
,,],
"ok" : 1
}
此時配置已經完成,kill主節點之後檢視狀態會自動切換
ps:預設情況下副本是不會負載讀操作的,如果打算讓副本負載一部分讀操作那麼可以參見另外一篇部落格
開始接觸MongoDB之MongoDB的CRUD
一 準備 1 從mongo的安裝目錄中找到我喜歡稱它為服務埠,下文有出現的話都叫服務埠 雙擊啟動 2 再啟動我稱它為操作埠,下文有出現的話都叫操作埠 3 md data db 在data的目錄下建立乙個資料庫叫db use db 使用這個資料庫 二 開始 1 create mongo使用關鍵字ins...
mongodb入門之mongodb基本語法
主要介紹下mongodb的基本語法,增刪改查等 我們都熟悉mysql和oracle的基本操作,這裡介紹mongodb的基本語法 首先要比較下mysql和mongodb的差別 mysql和oracle都有例項的概念,即資料庫例項。而mongodb同樣有例項的概念,只是初始化預設提供test資料庫 mo...
MongoDB 之查詢詳解
查詢就是獲取儲存在資料庫中的資料。在 mongodb 中,查詢通常針對乙個集合來操作。查詢可以指定查詢條件,只返回匹配的文件 還可以指定投影項,只返回指定的字段,減少返回資料到客戶端的網路流量。find 方法以非結構化的方式來顯示所有文件。mongodb 查詢資料的語法格式如下 db.collect...