基于虛擬化與分布式技術(shù)的存儲系統(tǒng)
摘要:介紹了一套基于云計(jì)算(cloud computing)技術(shù)的數(shù)據(jù)應(yīng)用平臺系統(tǒng)設(shè)計(jì)方案。該系統(tǒng)由多組服務(wù)器集群組成,可提供數(shù)據(jù)存儲、備份和并行運(yùn)算服務(wù)。并可采用虛擬化應(yīng)用端與分布式(Hadoop)技術(shù)相結(jié)合的方式為用戶提供高容量和異構(gòu)應(yīng)用存儲系統(tǒng),以便結(jié)合iSCSI協(xié)議在硬件層獲得更靈活的部署。
關(guān)鍵詞:虛擬化;數(shù)據(jù)處理;分布式存儲;云計(jì)算
0 引言
通過FreeBSD系統(tǒng)搭建開源的Hadoop存儲應(yīng)用基礎(chǔ),依托在服務(wù)器虛擬化(VMware)的平臺上進(jìn)行運(yùn)行,這樣能夠擁有更快、更穩(wěn)定、更安全的硬件保障,使用iSCSI技術(shù),盡可能降低存儲部署成本。本系統(tǒng)利用VMware虛擬化平臺將服務(wù)器硬件存儲資源進(jìn)行整合,通過建立Lun將服務(wù)器的磁盤陣列進(jìn)行劃分,組成多個(gè)磁盤邏輯,然后通過在Lun上安裝FreeBSD操作系統(tǒng)及搭建iSCSI服務(wù)器端,使得存儲硬件資源能夠靈活地應(yīng)用在Hadoop系統(tǒng)中。Hadoop將部署在虛擬化硬件平臺上構(gòu)成一個(gè)分布式的文件系統(tǒng),通過WebDAV協(xié)議建立與客戶端服務(wù)器的應(yīng)用通信。用戶可以通過訪問客戶端服務(wù)器,將文件通過WebDAV以HTTPS方式傳輸?shù)紿adoop存儲集群中保存。
該平臺的設(shè)計(jì)充分利用了虛擬化與分布式技術(shù)的特點(diǎn),采用多層次的模塊化應(yīng)用將整個(gè)存儲系統(tǒng)從硬件架構(gòu)到軟件應(yīng)用方式都變得靈活和易擴(kuò)展,同時(shí)又因?yàn)樘摂M化與分布式技術(shù)本身的安全特性,系統(tǒng)在數(shù)據(jù)安全性上具有先天優(yōu)勢,從而實(shí)現(xiàn)數(shù)據(jù)存儲服務(wù)的低成本部署。
1 系統(tǒng)設(shè)計(jì)原理
存儲系統(tǒng)采用底層云存儲技術(shù)與應(yīng)用層iSCSI技術(shù)來為用戶提供跨系統(tǒng)應(yīng)用平臺支持。其工作原理如圖1所示。
系統(tǒng)首先由多臺數(shù)據(jù)存儲服務(wù)器通過iSCSI網(wǎng)絡(luò)構(gòu)成一個(gè)龐大的數(shù)據(jù)存儲服務(wù)集群,每一臺數(shù)據(jù)服務(wù)器的配置是相同的。當(dāng)數(shù)據(jù)達(dá)到存儲池飽和狀態(tài)時(shí),可以將同樣配置的服務(wù)器加入到這個(gè)存儲網(wǎng)絡(luò)中,在不改變原有系統(tǒng)運(yùn)行狀態(tài)下實(shí)現(xiàn)擴(kuò)容。
系統(tǒng)采用VMware ESXi Server虛擬系統(tǒng)作為應(yīng)用服務(wù)器集群底層系統(tǒng),各應(yīng)用服務(wù)器系統(tǒng)可在VMware虛擬系統(tǒng)之上建立邏輯上的關(guān)聯(lián)。 VMware允許多個(gè)操作系統(tǒng)并行運(yùn)行于一臺高性能服務(wù)器之上和多個(gè)高性能服務(wù)器運(yùn)行同一任務(wù),同時(shí)通過網(wǎng)絡(luò)對操作系統(tǒng)進(jìn)行備份和管理,能夠依據(jù)應(yīng)用服務(wù)使用狀況對操作系統(tǒng)實(shí)施遷移和復(fù)制,從而擴(kuò)大網(wǎng)絡(luò)應(yīng)用處理帶寬。
在VMware層上安裝FreeBSD系統(tǒng)平臺搭建Hadoop分布式存儲系統(tǒng),Hadoop系統(tǒng)能將數(shù)據(jù)同時(shí)分割成許多小塊和備份,通過點(diǎn)播服務(wù)器(NameNode)存放于不同的數(shù)據(jù)存儲服務(wù)器中。在Hadoop系統(tǒng)中,會有一臺Master,主要負(fù)責(zé)NameNode的工作以及JobTracker的工作。Job Tracker的主要職責(zé)就是啟動(dòng)、跟蹤和調(diào)度各個(gè)Slave的任務(wù)執(zhí)行。還會有多臺Slave,每一臺Slave通常具有DataNode的功能并負(fù)責(zé)Task Tracker的工作。TaskTracker根據(jù)應(yīng)用要求來結(jié)合本地?cái)?shù)據(jù)執(zhí)行Map任務(wù)以及Reduce任務(wù)。
在NameNode上部署WebDAV應(yīng)用,實(shí)現(xiàn)應(yīng)用服務(wù)器對存儲資源的通信,從而讓用戶調(diào)用Hadoop上的數(shù)據(jù)。WebDAV(Web-based Distributed Authoring and Versioning)是基于HTTP 1.1的一個(gè)通信協(xié)議。它為HTTP 1.1添加了一些擴(kuò)展(就是在GET、POST、HEAD等幾個(gè)HTTP標(biāo)準(zhǔn)方法以外添加了一些新的方法),使得應(yīng)用程序可以直接將文件寫到Web Server上,從而替代傳統(tǒng)的FTP傳輸文件模式。
2 系統(tǒng)關(guān)鍵技術(shù)實(shí)現(xiàn)
存儲平臺通過在Hadoop上部署WebDAV,可實(shí)現(xiàn)客戶端(應(yīng)用服務(wù)器)對服務(wù)器端(Hadoop節(jié)點(diǎn)服務(wù)器)的復(fù)制和移動(dòng)文件,并可進(jìn)行多用戶同時(shí)讀取一個(gè)文件等操作。
實(shí)施步驟(以四臺服務(wù)器為例,結(jié)合局域網(wǎng)內(nèi)DNS服務(wù)器):
第一步:Hadoop環(huán)境搭建使用Hadoop的用戶,機(jī)器名和IP依次為域名vc1(192.168.1.1),域名vc2(192.168.1.2),域名vc3(19 2.168.1.3)和域名vc4(192.168.1.4)。這是因?yàn)樗呐_機(jī)器中vc3作為Hadoop的Namenode,其他的作為Datanode。
詳細(xì)環(huán)境配置介紹如下:
Hadoop版本為0.20.2;
JDK版本為1.6.0;
操作系統(tǒng)為FreeBSD8.0(最小化安裝)。
ve3(192.168.1.3)是NameNode(Master),其他三臺作為DateNode(slave).
Hadoop是Java語言編寫的機(jī)群程序,它的安裝是建立在ssh和JDK之上的,所以在配置Hadoop之前首先要對系統(tǒng)進(jìn)行ssh和JDK的安裝與配置。
(1)通過ssh來實(shí)現(xiàn)Hadoop節(jié)點(diǎn)之間用戶的無密碼訪問
①在各個(gè)節(jié)點(diǎn)的/etc/hosts文件中添加節(jié)點(diǎn)IP及對應(yīng)機(jī)器名,并在各個(gè)節(jié)點(diǎn)上建立相同用戶名與密碼的賬戶。
修改/etc/hosts文件如下:
192.168.1.1 vc1
192.168.1.2 vc2
192.168.1.3 vc3
192.168.1.4 vc4
修改成功后就可以實(shí)現(xiàn)IP地址與機(jī)器名的對應(yīng)解析。
在各個(gè)節(jié)點(diǎn)建立用戶名為Hadoop,密碼為123456的用戶。
評論