劉 波 胡景光 黃天天
(1.湖南農(nóng)業(yè)大學(xué)信息科學(xué)技術(shù)學(xué)院 長(zhǎng)沙 410128)(2.邵陽(yáng)學(xué)院湘西南農(nóng)村信息化服務(wù)湖南省重點(diǎn)實(shí)驗(yàn)室 邵陽(yáng) 422000)(3.湖南省農(nóng)村農(nóng)業(yè)信息化工程技術(shù)研究中心 長(zhǎng)沙 410128)
?
云環(huán)境MMM數(shù)據(jù)庫(kù)集群雙主多從架構(gòu)模型構(gòu)建*
劉波1,2,3胡景光1黃天天1
(1.湖南農(nóng)業(yè)大學(xué)信息科學(xué)技術(shù)學(xué)院長(zhǎng)沙410128)(2.邵陽(yáng)學(xué)院湘西南農(nóng)村信息化服務(wù)湖南省重點(diǎn)實(shí)驗(yàn)室邵陽(yáng)422000)(3.湖南省農(nóng)村農(nóng)業(yè)信息化工程技術(shù)研究中心長(zhǎng)沙410128)
摘要隨著湖南國(guó)家農(nóng)村農(nóng)業(yè)信息化示范省綜合服務(wù)平臺(tái)與農(nóng)村物聯(lián)網(wǎng)基礎(chǔ)平臺(tái)的運(yùn)行,對(duì)農(nóng)業(yè)大數(shù)據(jù)的操作與安全提出了新的要求。為了適應(yīng)這一要求,針對(duì)RedHat與MySQL系統(tǒng),提出一個(gè)基于Linux系統(tǒng)可擴(kuò)展的MySQL數(shù)據(jù)庫(kù)集群雙主多從架構(gòu)優(yōu)化模型。該模型主要由三個(gè)設(shè)計(jì)模塊組成,即前端代理層實(shí)現(xiàn)主備熱切換與讀寫(xiě)分離;數(shù)據(jù)服務(wù)層對(duì)服務(wù)節(jié)點(diǎn)進(jìn)行整合、監(jiān)控與單一鏡像;數(shù)據(jù)共享層實(shí)現(xiàn)遠(yuǎn)程數(shù)據(jù)同步備份容災(zāi)。測(cè)試證明在不提高服務(wù)器硬件性能的條件下,僅通過(guò)增加服務(wù)器數(shù)量就能解決整個(gè)數(shù)據(jù)庫(kù)集群的性能瓶頸問(wèn)題,而且能夠在大批量讀寫(xiě)數(shù)據(jù)的環(huán)境下進(jìn)行有效的服務(wù),加強(qiáng)云平臺(tái)下農(nóng)業(yè)數(shù)據(jù)的安全性、健壯性及可靠性。
關(guān)鍵詞雙主多從架構(gòu); 數(shù)據(jù)庫(kù)集群; 讀寫(xiě)分離; 負(fù)載均衡; 地址漂移
Class NumberTP392
為了農(nóng)業(yè)科技創(chuàng)新適應(yīng)市場(chǎng)發(fā)展規(guī)律,滿足湖南省農(nóng)村地區(qū)對(duì)農(nóng)業(yè)信息化的渴求,2011年~2014年國(guó)家科技部開(kāi)展了農(nóng)村農(nóng)業(yè)信息化關(guān)鍵技術(shù)集成與示范(2011BAD21B00)與農(nóng)村物聯(lián)網(wǎng)綜合信息服務(wù)科技工程(2012BAD35B00)課題研究,湖南省科技廳聯(lián)合湖南農(nóng)業(yè)大學(xué)等單位進(jìn)行了湖南國(guó)家農(nóng)村農(nóng)業(yè)信息化綜合服務(wù)平臺(tái)[1]與農(nóng)村物聯(lián)網(wǎng)基礎(chǔ)平臺(tái)[2]的應(yīng)用研究,并成功搭建了湖南農(nóng)業(yè)信息化云平臺(tái),每天不停收集農(nóng)業(yè)知識(shí)條目、呼叫中心信息與物聯(lián)網(wǎng)終端數(shù)據(jù),面對(duì)如此龐大的數(shù)據(jù)信息,如何保護(hù)這些數(shù)據(jù)安全,對(duì)農(nóng)業(yè)云平臺(tái)提出了新的要求。
當(dāng)前為了適應(yīng)云計(jì)算與大數(shù)據(jù)時(shí)代越來(lái)越嚴(yán)苛的數(shù)據(jù)存取要求,主要采取了如下措施:
1) 架構(gòu)一種能夠承受高并發(fā)、高負(fù)載和高可用的數(shù)據(jù)庫(kù)應(yīng)對(duì)客戶(hù)端數(shù)以千萬(wàn)級(jí)的訪問(wèn)請(qǐng)求[3],而數(shù)據(jù)庫(kù)集群在硬件性能無(wú)法再顯著提升情況下,可以通過(guò)增加服務(wù)器數(shù)量獲得通信性能的倍數(shù)級(jí)增加,同時(shí)具有可擴(kuò)展性及可容災(zāi)性[4~5]。
2) 針對(duì)數(shù)據(jù)庫(kù)集群訪問(wèn)頻繁、并發(fā)訪問(wèn)等問(wèn)題,服務(wù)器大多使用了負(fù)載均衡與復(fù)制技術(shù)[6~7],但訪問(wèn)量隨著時(shí)間成幾何倍數(shù)的增長(zhǎng),響應(yīng)單個(gè)請(qǐng)求的速度越來(lái)越慢,若數(shù)據(jù)文件較大,寫(xiě)操作還會(huì)出現(xiàn)鎖表時(shí)間過(guò)長(zhǎng)等影響訪問(wèn)效率的問(wèn)題。
3) 在硬件設(shè)備不變情況下,通過(guò)優(yōu)化SQL語(yǔ)句和索引等方式[8~9],仍然不能滿足數(shù)據(jù)存取要求,則建立數(shù)據(jù)庫(kù)集群[10]。既然瓶頸是由于單臺(tái)服務(wù)器的訪問(wèn)負(fù)載過(guò)重引起的,就通過(guò)增加數(shù)據(jù)庫(kù)服務(wù)器的數(shù)量,將前端大量的數(shù)據(jù)連接進(jìn)行負(fù)載均衡,分發(fā)到數(shù)據(jù)庫(kù)集群的各個(gè)節(jié)點(diǎn)上面,讓單臺(tái)的服務(wù)器負(fù)載降低,從而初步解決數(shù)據(jù)瓶頸問(wèn)題。
2012年,湖南農(nóng)業(yè)大學(xué)根據(jù)湖南國(guó)家農(nóng)村農(nóng)業(yè)信息化綜合服務(wù)平臺(tái)的建設(shè)進(jìn)展,實(shí)施了湖南農(nóng)大服務(wù)器虛擬化一期系統(tǒng)實(shí)施方案,一次性投入600多萬(wàn)元購(gòu)買(mǎi)了9臺(tái)華為服務(wù)器,3臺(tái)S5600T與2臺(tái)S2600T數(shù)據(jù)存儲(chǔ),劃分了50臺(tái)虛擬服務(wù)器,并初步搭建了2臺(tái)數(shù)據(jù)庫(kù)集群,同時(shí)將整個(gè)網(wǎng)絡(luò)中的所有節(jié)點(diǎn)構(gòu)成一個(gè)邏輯上統(tǒng)一的整體,實(shí)現(xiàn)用戶(hù)可以對(duì)數(shù)據(jù)庫(kù)節(jié)點(diǎn)進(jìn)行透明存取。然而隨著訪問(wèn)量的增大與數(shù)據(jù)流量的增多,相應(yīng)的數(shù)據(jù)瓶頸也逐步顯現(xiàn),主要表現(xiàn)如下:
1) 節(jié)點(diǎn)間通信成為制約集群系統(tǒng)性能的嚴(yán)重瓶頸[11].雖然當(dāng)前以太網(wǎng)技術(shù)已比較成熟,實(shí)現(xiàn)起來(lái)難度不大,而且網(wǎng)線接插方便,便于擴(kuò)展和更換設(shè)備,然而集群系統(tǒng)中的一些先天弱點(diǎn),導(dǎo)致了集群系統(tǒng)中節(jié)點(diǎn)間的數(shù)據(jù)傳輸效率不高。
2) 數(shù)據(jù)集群實(shí)現(xiàn)并行處理技術(shù)所需層次較多,配置復(fù)雜,影響正常性能。對(duì)于數(shù)據(jù)庫(kù)軟件,數(shù)據(jù)還要再經(jīng)過(guò)一層應(yīng)用的解析才能被數(shù)據(jù)庫(kù)管理軟件使用,每經(jīng)過(guò)一層,數(shù)據(jù)處理都要消耗CPU資源,極大地影響了系統(tǒng)的性能。
為了克服平臺(tái)數(shù)據(jù)交互瓶頸問(wèn)題,嘗試建立更多數(shù)據(jù)庫(kù)集群,根據(jù)MySQL數(shù)據(jù)庫(kù)的特點(diǎn),選擇搭建MySQL數(shù)據(jù)庫(kù)集群,雖然MySQL數(shù)據(jù)庫(kù)構(gòu)建集群的方式有多種,如簇集群模型、主從復(fù)制集群模型等,然而MMM數(shù)據(jù)庫(kù)集群優(yōu)化模型提供了MySQL主主復(fù)制配置的監(jiān)控、故障轉(zhuǎn)移和管理的一套可伸縮的腳本套件。在MMM集群模型中,典型的應(yīng)用就是雙主多從架構(gòu),通過(guò)MySQL復(fù)制技術(shù)可以實(shí)現(xiàn)兩臺(tái)服務(wù)器互為主從,且在存儲(chǔ)時(shí)只有一個(gè)節(jié)點(diǎn)可以寫(xiě)入,避免多點(diǎn)寫(xiě)入的數(shù)據(jù)沖突。同時(shí)當(dāng)可寫(xiě)的主節(jié)點(diǎn)故障時(shí),MMM套件立刻監(jiān)控到,然后將服務(wù)自動(dòng)切換到另一個(gè)主節(jié)點(diǎn),繼續(xù)提供服務(wù),從而實(shí)現(xiàn)MySQL的高可用。該模型的架構(gòu)圖如圖1所示。
圖1 MMM架構(gòu)模型
針對(duì)湖南信息化綜合服務(wù)平臺(tái)的特點(diǎn),結(jié)合MySQL的MMM數(shù)據(jù)庫(kù)集群配置進(jìn)行優(yōu)化,以MMM集群為模型,配合使用Amoeba數(shù)據(jù)庫(kù)代理服務(wù)以及高可用軟件(Keepalived)和分布式塊設(shè)備(Distributed Replication Block Device,DRBD)復(fù)制技術(shù)完成MySQL高可用和高可擴(kuò)展的集群。
· 高可用集群組件Keepalived
Keepalived是Linux下一個(gè)輕量級(jí)的高可用解決方案,可以實(shí)現(xiàn)服務(wù)或者網(wǎng)絡(luò)的高可用。Keepalived的部署簡(jiǎn)單快捷,所有配置只需一個(gè)配置文件即可完成。Keepalived專(zhuān)門(mén)用來(lái)監(jiān)控集群系統(tǒng)中各個(gè)服務(wù)器節(jié)點(diǎn)的狀態(tài),它根據(jù)TCP/IP參考模型的第三、第四和第五層交換機(jī)檢測(cè)每個(gè)服務(wù)節(jié)點(diǎn)的狀態(tài),若某個(gè)服務(wù)器節(jié)點(diǎn)出現(xiàn)異常,或工作出現(xiàn)故障,Keepalived將檢測(cè)到,并將出現(xiàn)故障的服務(wù)點(diǎn)從集群中剔除,而在故障點(diǎn)恢復(fù)正常后,Keepalived又自動(dòng)將此服務(wù)節(jié)點(diǎn)重新加入服務(wù)器集群中,況且這些工作全部自動(dòng)完成,無(wú)需人工干預(yù),需要人工完成的只是修復(fù)出現(xiàn)故障的服務(wù)節(jié)點(diǎn)。Keepalived后來(lái)又加入了虛擬路由冗余協(xié)議(Virtual Router Redundancy Protocol,VRRP)的功能,通過(guò)VRRP可以不間斷穩(wěn)定的運(yùn)行,因此Keepalived一方面具有服務(wù)狀態(tài)檢測(cè)和故障隔離功能,另一方面具有HA Cluster功能。
· 數(shù)據(jù)同步組件DRBD
分布式塊設(shè)備復(fù)制(Distributed Replication Block Device,DRBD)是一種基于網(wǎng)絡(luò)的塊復(fù)制存儲(chǔ)解決方案,主要用于對(duì)服務(wù)器之間的磁盤(pán)、分區(qū)、邏輯卷進(jìn)行數(shù)據(jù)鏡像。當(dāng)用戶(hù)將數(shù)據(jù)寫(xiě)入本地磁盤(pán)時(shí),同時(shí)將數(shù)據(jù)發(fā)送到網(wǎng)絡(luò)中另一臺(tái)主機(jī)的磁盤(pán)上,這樣本地主機(jī)(主節(jié)點(diǎn))與遠(yuǎn)程主機(jī)(備節(jié)點(diǎn))的數(shù)據(jù)就可以保證實(shí)時(shí)同步,當(dāng)本地主機(jī)出現(xiàn)問(wèn)題,遠(yuǎn)程主機(jī)還保留著一份相同的數(shù)據(jù),可以繼續(xù)使用,保證了數(shù)據(jù)的安全。
DRBD是Linux內(nèi)核存儲(chǔ)層中的一個(gè)分布式存儲(chǔ)系統(tǒng),具體來(lái)說(shuō)由兩部分構(gòu)成,一部分是內(nèi)核模塊,主要用于虛擬一個(gè)塊設(shè)備;一部分是用戶(hù)空間管理程序,主要用于和DRBD內(nèi)核模塊通信,以管理DRBD資源。在DRBD中,資源主要包含DRBD設(shè)備、磁盤(pán)配置、網(wǎng)絡(luò)配置等。DRBD的結(jié)構(gòu)圖如圖2所示。
圖2 DRBD結(jié)構(gòu)圖
DRBD設(shè)備在整個(gè)DRBD系統(tǒng)中位于物理塊設(shè)備之上,文件系統(tǒng)之下,在文件系統(tǒng)和物理磁盤(pán)之間形成了一個(gè)中間層,當(dāng)用戶(hù)在主用節(jié)點(diǎn)的文件系統(tǒng)中寫(xiě)入數(shù)據(jù)時(shí),數(shù)據(jù)被正式寫(xiě)入磁盤(pán)前或被DRBD系統(tǒng)截獲,同時(shí),DRBD在捕捉到有磁盤(pán)寫(xiě)入的操作時(shí),就會(huì)通知用戶(hù)空間管理程序把這些數(shù)據(jù)復(fù)制一份,寫(xiě)入遠(yuǎn)程主機(jī)的DRBD鏡像,然后存入DRBD鏡像所映射的遠(yuǎn)程主機(jī)磁盤(pán)。
· 數(shù)據(jù)庫(kù)連接代理組件Amoeba
Amoeba是一個(gè)MySQL協(xié)議接口的連接代理軟件,根據(jù)用戶(hù)事先設(shè)置的規(guī)則,將SQL請(qǐng)求發(fā)送到特定的數(shù)據(jù)庫(kù)上執(zhí)行,基于此可以實(shí)現(xiàn)負(fù)載均衡、讀寫(xiě)分離、高可用性等需求。
同時(shí)Amoeba具有承擔(dān)SQL請(qǐng)求的路由器功能,實(shí)現(xiàn)負(fù)載均衡、讀寫(xiě)分離、高可用提供機(jī)制,用戶(hù)只需結(jié)合使用MySQL的Replication等機(jī)制即可實(shí)現(xiàn)主從同步等功能。
· MMM數(shù)據(jù)庫(kù)集群管理套件
MMM管理套件是MySQL主主復(fù)制管理器,提供了MySQL主主復(fù)制配置的監(jiān)控,故障轉(zhuǎn)移和管理的一套可伸縮的腳本套件。附帶的工具套件可以實(shí)現(xiàn)多個(gè)Slaves的read負(fù)載均衡,因此使用這個(gè)套件不僅可以移除一組服務(wù)器中復(fù)制延遲較高的服務(wù)器的虛擬IP,還可以備份數(shù)據(jù)、調(diào)整兩節(jié)點(diǎn)之間再同步等。
MMM管理套件功能主要通過(guò)mmm_mond、mmm_agentd、mmm_control三個(gè)腳本完成。
因此由上述軟件一起組成了MMM數(shù)據(jù)庫(kù)集群優(yōu)化模型,如圖3所示。
圖3 MMM集群優(yōu)化架構(gòu)
本次數(shù)據(jù)庫(kù)集群的搭建使用六臺(tái)服務(wù)器,服務(wù)器的系統(tǒng)環(huán)境為RedHat6.4企業(yè)版本和64位處理器架構(gòu),IP地址的分配網(wǎng)段為10.9.9.0/24,MySQL數(shù)據(jù)庫(kù)為mysql-5.5.22.tar.gz和mysql-cluster-gpl-7.2.8.tar.gz。
· Amoeba與Keepalived配置
使用Amoeba作為客戶(hù)端數(shù)據(jù)庫(kù)查詢(xún)的代理服務(wù),然后配合使用Keepalived實(shí)現(xiàn)Amoeba主備服務(wù)器之間的高可用,提高系統(tǒng)的穩(wěn)定性和安全性。前端代理集群使用兩臺(tái)服務(wù)器,使用的IP地址為10.9.9.31、10.9.9.32,VIP(虛擬IP地址)為10.9.9.33。具體的IP分配如表1所示。
表1 IP地址分配表
然后在主從兩臺(tái)服務(wù)器上分別安裝JDK環(huán)境和Amoeba、Keepalived軟件,其中Amoeba的配置文件主要分為dbServer.xml、amoeba.xml兩個(gè)文件,dbServer.xml主要完成后端服務(wù)器集群的配置,amoeba.xml主要完成對(duì)前端代理和用戶(hù)訪問(wèn)控制的配置;Keepalived通過(guò)配置軟件安裝的依賴(lài)包及配置編譯參數(shù),實(shí)現(xiàn)對(duì)Amoeba服務(wù)的健康檢查和監(jiān)控,如果Amoeba停止服務(wù),Keepalived會(huì)將出故障的主機(jī)剔除,并進(jìn)行主從切換以解決單點(diǎn)故障問(wèn)題。
啟動(dòng)Amoeba和Keepalived進(jìn)行測(cè)試,在Amoeba出現(xiàn)故障時(shí),VIP自動(dòng)切換到備份主機(jī),符合預(yù)期目標(biāo)。如圖4所示為通過(guò)客戶(hù)端使用VIP訪問(wèn)測(cè)試數(shù)據(jù)庫(kù),并停止Amoeba主服務(wù)器,系統(tǒng)自動(dòng)切換到從服務(wù)器,并繼續(xù)連接數(shù)據(jù)庫(kù)的情形。
圖4 測(cè)試數(shù)據(jù)庫(kù)并停止Amoeba主服務(wù)器
· 構(gòu)建MMM集群管理系統(tǒng)
數(shù)據(jù)庫(kù)集群節(jié)點(diǎn)和管理節(jié)點(diǎn)的服務(wù)器臺(tái)數(shù)為四臺(tái),分別安裝5.5版本的MySQL數(shù)據(jù)庫(kù)和MMM管理套件。具體的節(jié)點(diǎn)IP分配如表2所示。
表2 集群節(jié)點(diǎn)IP地址分配
由于有三臺(tái)數(shù)據(jù)庫(kù)節(jié)點(diǎn)服務(wù)器,所有要分配四個(gè)讀寫(xiě)漂浮IP地址,表3是漂浮IP對(duì)應(yīng)的數(shù)據(jù)庫(kù)節(jié)點(diǎn)的映射表。
表3 讀寫(xiě)IP主機(jī)映射
在Master1、Master2、Slave主機(jī)上完成MySQL的安裝后,需要建立如表4所示的數(shù)據(jù)庫(kù)賬號(hào),這些賬號(hào)分別為主從復(fù)制賬號(hào)、MMM代理程序agentd登陸賬號(hào)、MMM管理服務(wù)mond登錄賬號(hào)。
表4 MySQL數(shù)據(jù)庫(kù)賬號(hào)分配
然后登錄Master1、Master2、Slave上的MySQL數(shù)據(jù)庫(kù),配置MySQL Replication主從復(fù)制,然后啟動(dòng)MySQL-mmm和MySQL數(shù)據(jù)庫(kù),再登陸集群的每個(gè)數(shù)據(jù)庫(kù)節(jié)點(diǎn)執(zhí)行命令。
至此數(shù)據(jù)庫(kù)集群與前端Amoeba的整合完畢,整個(gè)集群模型基本實(shí)現(xiàn),再進(jìn)行數(shù)據(jù)測(cè)試,依次測(cè)試應(yīng)用程序?qū)?shù)據(jù)庫(kù)集群的訪問(wèn)、Amoeba實(shí)現(xiàn)的讀寫(xiě)分離,實(shí)現(xiàn)讀操作均衡分布于集群的各個(gè)讀服務(wù)器節(jié)點(diǎn),最后配置DRBD數(shù)據(jù)同步,實(shí)現(xiàn)數(shù)據(jù)的安全性。
· DRBD數(shù)據(jù)同步
當(dāng)整個(gè)集群初步搭建完成后,使用集群中的Slave主機(jī)作為DRBD數(shù)據(jù)同步的Master主機(jī),然后加入一臺(tái)遠(yuǎn)程備份主機(jī)Backup1作為DRBD的Slave,Backup1的IP地址配置為10.9.9.42,在兩臺(tái)主機(jī)上分別配置一個(gè)100G的磁盤(pán)sdb1,作為數(shù)據(jù)同步的物理設(shè)備。在Slave主機(jī)上和Backup1上分別源碼編譯安裝DRBD軟件,再重新啟動(dòng)MySQL數(shù)據(jù)庫(kù)服務(wù),至此,數(shù)據(jù)庫(kù)文件遷移完成,整個(gè)集群架構(gòu)搭建完成。其測(cè)試效果如圖5所示。
圖5 DRBD主服務(wù)器測(cè)試圖
本文根據(jù)湖南國(guó)家農(nóng)村農(nóng)業(yè)信息化綜合服務(wù)平臺(tái)與農(nóng)村物聯(lián)網(wǎng)基礎(chǔ)平臺(tái)的運(yùn)行情況,提出一個(gè)基于Linux系統(tǒng)可擴(kuò)展的MySQL數(shù)據(jù)庫(kù)集群雙主多從架構(gòu)MMM優(yōu)化模型,主要利用Amoeba實(shí)現(xiàn)數(shù)據(jù)庫(kù)查詢(xún)的讀寫(xiě)分離和負(fù)載均衡,通過(guò)Keepalived實(shí)現(xiàn)Amoeba主從之間單點(diǎn)故障轉(zhuǎn)移,通過(guò)MMM數(shù)據(jù)庫(kù)集群套件將數(shù)據(jù)庫(kù)集群整合,實(shí)現(xiàn)對(duì)外單一映像的關(guān)鍵問(wèn)題,使用漂浮IP的方法,將讀寫(xiě)IP均分給集群中的各個(gè)節(jié)點(diǎn),在集群節(jié)點(diǎn)出現(xiàn)故障時(shí),對(duì)IP地址進(jìn)行轉(zhuǎn)移實(shí)現(xiàn)集群的高可用,最后通過(guò)整合DRBD對(duì)數(shù)據(jù)庫(kù)文件進(jìn)行遠(yuǎn)程同步,有效地提高了整個(gè)數(shù)據(jù)庫(kù)集群的安全性和穩(wěn)定性。
參 考 文 獻(xiàn)
[1] 黃天天,劉波.湖南農(nóng)業(yè)信息化綜合服務(wù)平臺(tái)測(cè)試方法分析[J].軟件.2013,34(12):172-177.
HUANG Tiantian, LIU Bo. The Testing Methods Based on Hunan Agricultural Information Service Platform[J]. Information Science and Technology,2013,34(12):172-177.
[2] 劉波,沈岳,郭平,等.湖南農(nóng)業(yè)云物聯(lián)網(wǎng)建設(shè)對(duì)策分析[J].物聯(lián)網(wǎng)技術(shù),2013,3(6):76-79.
LIU Bo, GUO Ping, SHEN Yue, et al. The countermeasure analysis of Hunan cloud agriculture IOT construction[J]. Internet of Things Technologies,2013,3(6):76-79.
[3] 劉健,張軍偉,邵冰清,等.支持EB級(jí)存儲(chǔ)的元數(shù)據(jù)服務(wù)器集群系統(tǒng)[J].中國(guó)科學(xué):信息科學(xué),2015,45(6):721-738.
LIU Jian, ZHANG Junwei, SHAO Bingqing, et al. Metadata server clustering system for EB-scale storage[J]. Science China Press: Information Science,2015,45(6):721-738.
[4] Ramesh Dharavath, Author Vitae, Chiranjeev Kumar. A scalable generic transaction model scenario for distributed NoSQL databases[J]. Journal of Systems and Software,2015,101(3):43-58
[6] 王學(xué)瑞.mysql集群及負(fù)載均衡技術(shù)及應(yīng)用[J].信息與電腦,2013,(2):131-132.
WANG Xuerui. The Application and Load Balancing Technologu of MySql Cluster[J]. China Computer & Communication,2013,(2):131-132.
[7] 韋一鳴.基于MySQL復(fù)制技術(shù)的數(shù)據(jù)庫(kù)集群研究[D].杭州:杭州電子科技大學(xué),2014:1-46.
WEI Yiming. Study on Database Cluster Based on MySQL Replication[D]. Hangzhou: Hangzhou Dianzi University,2014:1-46.
[8] 周玉科,馬廷,周成虎,等.MySQL集群與MPI的并行空間分析系統(tǒng)設(shè)計(jì)與實(shí)驗(yàn)[J].地球信息科學(xué)學(xué)報(bào),2012,14(4):448-493.
ZHOU Yuke, MA Ting, ZHOU Chenghu, et al. Design and Implement of Parallel Spatial Analysis System Based on MySql & MPI[J]. Journal of Geo-information Science,2012,14(4):448-493.
[9] M. Smit, B. Simmons, M. Litoiu. Distributed, application-level monitoring for heterogeneous clouds using stream processing[J]. Future Generation Computer Systems,2013,29(8):2103-2114.
[10] 魏斌.高性能MySQL集群部署[J].河南科技,2014(7):6-9.
WEI Bing. The Cluster Deployment of High Performance Based on MySQL[J]. Journal of Henan Science and Technology,2014(7):6-9.
[11] 馮弢.基于云計(jì)算下的通信架構(gòu)模型建立與實(shí)現(xiàn)[J].信息通信,2015(5):210-212.
FENG Tao. The Establishment and Implement of a Communication Architecture Model Based on Cloud Computing[J]. Information & Communications,2015(5):210-212.
[12] 金瑛浩.基于MySQ L集群的矢量路徑數(shù)據(jù)庫(kù)設(shè)計(jì)研究[J].黑龍江科技信息,2014(8):166-166.
JIN Yinghao. The Design Research of Vector Path Database Based on MySQ L clusters[J]. Heilongjiang Science and Technology Information,2014(8):166-166.
收稿日期:2015年10月9日,修回日期:2015年11月25日
基金項(xiàng)目:國(guó)家科技部科技支撐計(jì)劃課題(編號(hào):2012BAD35B05,2012BAD35B07);湘西南農(nóng)村信息化服務(wù)湖南省重點(diǎn)實(shí)驗(yàn)室開(kāi)放基金課題(編號(hào):XAI20150326);2014湖南省教育廳科研一般項(xiàng)目(編號(hào):14C0542);2015年度湖南農(nóng)業(yè)大學(xué)“大學(xué)生創(chuàng)新性實(shí)驗(yàn)計(jì)劃項(xiàng)目(編號(hào):XCX14063);2015年湖南農(nóng)業(yè)大學(xué)團(tuán)委科技創(chuàng)新立項(xiàng)項(xiàng)目(編號(hào):制作發(fā)明類(lèi)201502)資助。
作者簡(jiǎn)介:劉波,男,博士,副教授,碩士生導(dǎo)師,研究方向:軟件工程、數(shù)據(jù)庫(kù)技術(shù)、物聯(lián)網(wǎng)技術(shù)、農(nóng)業(yè)信息化。胡景光,男,研究方向:計(jì)算機(jī)網(wǎng)絡(luò)。黃天天,女,碩士研究生,研究方向:計(jì)算機(jī)應(yīng)用、農(nóng)業(yè)物聯(lián)網(wǎng)。
中圖分類(lèi)號(hào)TP392
DOI:10.3969/j.issn.1672-9722.2016.04.028
Model Design of Double-Master and Multi-slave Architecture for Database Cluster of Master-Master Replication Manager for MySQL Based on Clouds
LIU Bo1,2,3HU Jingguang1HUANG Tiantian1
(1. Information Science and Technology College of Hunan Agricultural University, Changsha410128)(2. Hunan Provincial Key Laboratory of Information Service in Rural of Southwestern Hunan, Shaoyang422000)(3. Hunan Engineering Technology Research Center of Agricultural & Rural Information, Changsha410128)
AbstractAs the running of Hunan rural integrated services platform of national rural and agricultural information demonstration province and the fundamental platform of the Hunan agriculture IOT, new requirements are proposed by big data operation and safety for agriculture. For the requirement, an optimization model is proposed of master-master replication manager for MySQL on Linux cluster for RedHat and MySQL. Three design models are mainly components of the model, including, the front layer to realize the main switch from MySQL-Proxy, the data service layer to integrate the service node, monitoring and single image, the share data layer to realize remote data synchronization, backup and disaster recovery. The tests have proved that not only the problem of the performance bottleneck of the whole database cluster can be solved by increasing servers by the way, but also the effective service can be achieved through a large of reading and writing under not increasing server hardware performance. The model can enhance the agricultural data security, robustness and reliability under the cloud.
Key Wordsmaster-master replication manager for MySQL, database cluster, MySQL-Proxy, load balance, address drift