標籤:keepalived mongodb mongo mongodb主從
MongoDB是一個介於關聯式資料庫和非關聯式資料庫之間的產品,是非關聯式資料庫當中功能最豐富,最像關聯式資料庫的。他支援的資料結構非常鬆散,是類似json的bson格式,因此可以儲存比較複雜的資料類型。Mongo最大的特點是他支援的查詢語言非常強大,其文法有點類似於物件導向的查詢語言,幾乎可以實作類別似關聯式資料庫單表查詢的絕大部分功能,而且還支援對資料建立索引。
它的特點是高效能、易部署、易使用,儲存資料非常方便。主要功能特性有:
*面向集合儲存,易儲存物件類型的資料。
*模式自由。
*支援動態查詢。
*支援完全索引,包含內部對象。
*支援查詢。
*支援複製和故障恢複。
*使用高效的位元據儲存,包括大型物件(如視頻等)。
*自動處理片段,以支援雲端運算層次的擴充性。
*支援RUBY,PYTHON,JAVA,C++,PHP,C#等多種語言。
*檔案儲存體格式為BSON(一種JSON的擴充)。
*可通過網路訪問。----------------以上內容摘自好搜百科
一、下載keepalived和mongodb源碼包
http://yunpan.cn/cLnMGSt7v2X4s 訪問密碼 956a
二、安裝keepalived
[[email protected] ~]yum -y install gccopenssl-devel popt popt-devel libnl libnl-devel kernel-devel #所需依賴包
[[email protected]~]# tar -zxvf keepalived-1.2.7.tar.gz
[[email protected]~]# cd keepalived-1.2.7.tar.gz
[[email protected]]# ./configure #安裝三部曲
[[email protected]]# make
[[email protected]]# make install
三、拷貝設定檔和啟動指令碼
[[email protected]~]# cp /usr/local/etc/rc.d/init.d/keepalived /etc/rc.d/init.d/
[[email protected]~]# cp /usr/local/etc/sysconfig/keepalived /etc/sysconfig
[[email protected]~]# mkdir /etc/keepalived
[[email protected]~]# cp /usr/local/etc/keepalived/keepalived.conf /etc/keepalived/
[[email protected]~]# cp /usr/local/sbin/keepalived /usr/sbin/
四、添加開機啟動
[[email protected]~]#chkconfig --add keepalived #添加服務
[[email protected]~]#chkconfig keepalived on #開機啟動
五、設定檔
[[email protected]~]#cat /etc/keepalived/keepalived.conf
!Configuration File for keepalived
vrrp_instanceMG_1 {
state MASTER #mongodb2為BACKUP
interfaceeth 0
virtual_router_id 55
priority 100 #優先順序,備份為90
advert_int 1
#nopreempt #不搶佔資源
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.0.10 #虛擬IP
}
}
六、[[email protected] ~]# service keepalived start
正在啟動 keepalived: [確定]
七、以上配置,在從伺服器上除了設定檔的微小差別,其它內容完全相同!
八、命令ip a可查看虛擬IP,成功則顯示虛擬IP。
九、安裝mongodb
[[email protected] ~]# tar -zxvfmongodb-linux-x86_64-2.4.9.tgz -C /usr/local/
[[email protected] local]# mv mongodb-linux-x86_64-2.4.9/ mongodb
[[email protected] local]# cd mongodb/
[[email protected] mongodb]# mkdir db
[[email protected] mongodb]# mkdir logs
[[email protected] mongodb]# cd bin
[[email protected] bin]# cat mongodb.conf
dbpath=/usr/local/mongodb/db #資料庫目錄
logpath=/usr/local/mongodb/logs/mongodb.log #日誌
port=27017 #連接埠
fork=true
nohttpinterface=true
master=true #主伺服器
auth=true #開啟使用者驗證
十、從伺服器設定檔
[[email protected] bin]# cat mongodb.conf
dbpath=/usr/local/mongodb/db
logpath=/usr/local/mongodb/logs/mongodb.log
port=27017
fork=true
nohttpinterface=true
slave=true #從伺服器
source=192.168.0.100:27017 #從主伺服器複製
autoresync=true #自動同步
auth=true
十一、啟動mongodb(兩台都啟動)---命令路徑可添加在bashrc中,如果不會,請百度,百度不到,請找你老大。
[[email protected] bin]/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/bin/mongodb.conf
十二、報錯資訊:當查看從伺服器mongodb日誌時顯示以下資訊,如果你在配置過程當中沒有認證使用者,主從搭建成功,請忽略報錯,如果是其他報錯,請百度。
650) this.width=650;" src="http://s1.51cto.com/wyfs02/M02/76/50/wKiom1ZO3pex_LgIAAB80hnPgco952.png" title="QQ圖片20151120164901.png" alt="wKiom1ZO3pex_LgIAAB80hnPgco952.png" />
十三、幾經波折,找到原因,對兩台進行使用者認證。
[[email protected] bin]/usr/local/mongodb/bin/mongo #進入資料庫
>use local
>db.addUser(‘reql‘,‘reql‘)
當使用者認證之後,從伺服器連上主伺服器,顯示OK,但在OK後顯示errmsg:unauthorized,此為未授權
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/76/4F/wKioL1ZO4SzwK7goAABGU1pJbzQ174.png" title="QQ圖片20151120165647.png" alt="wKioL1ZO4SzwK7goAABGU1pJbzQ174.png" />
十四、經分析,普通使用者認證許可權小,所以再進行管理員賬戶認證。(只在主伺服器上認證)注意:在設定檔中的auth=true請注釋掉,並重啟mongodb
[[email protected] bin]/usr/local/mongodb/bin/mongo #進入資料庫
>use admin
>db.addUser(‘tank‘,‘test‘)
>db.auth(‘tank‘,‘test‘) #資料庫認證,必須做
本文出自 “系統營運之道” 部落格,謝絕轉載!
mongodb主從環境搭建