一、什么是云計(jì)算平臺(tái)
云計(jì)算平臺(tái)也稱為云平臺(tái)。云計(jì)算平臺(tái)可以劃分為3類:以數(shù)據(jù)存儲(chǔ)為主的存儲(chǔ)型云平臺(tái),以數(shù)據(jù)處理為主的計(jì)算型云平臺(tái)以及計(jì)算和數(shù)據(jù)存儲(chǔ)處理兼顧的綜合云計(jì)算平臺(tái)。
二、云計(jì)算平臺(tái)服務(wù)特征
(1)服務(wù)無處不在--用戶只需要一臺(tái)具備基本計(jì)算能力的計(jì)算設(shè)備以及一個(gè)有效的互聯(lián)網(wǎng)連接,就可以隨時(shí)隨地使用該服務(wù)。從這個(gè)意義來講,任何聯(lián)網(wǎng)的應(yīng)用,都具備成為云計(jì)算平臺(tái)的潛力。
(2)具備進(jìn)入成本--用戶具備使用該服務(wù)的需求,但是并不具備獨(dú)立提供該服務(wù)的經(jīng)濟(jì)或者技術(shù)條件。譬如說某些企業(yè)需要定期地進(jìn)行大規(guī)模的運(yùn)算,但是并不值得專門為此購置一臺(tái)具備大規(guī)模運(yùn)算能力的計(jì)算設(shè)備。超算中心通過發(fā)展客戶群讓多個(gè)用戶來分擔(dān)超級(jí)計(jì)算機(jī)的成本,使得其用戶能夠在不擁有計(jì)算設(shè)備的情況下以較小的成本完成計(jì)算任務(wù)。
(3)用戶決定應(yīng)用--云計(jì)算平臺(tái)提供計(jì)算能力(包括處理器、內(nèi)存、存儲(chǔ)、網(wǎng)絡(luò)接口),但是并不關(guān)心用戶的應(yīng)用類型。用戶利用云計(jì)算平臺(tái)所提供的計(jì)算能力,并且充分考慮云計(jì)算平臺(tái)所設(shè)定的(技術(shù)和經(jīng)濟(jì))限制,開發(fā)出豐富多彩的應(yīng)用。滿足如上幾個(gè)條件的云計(jì)算平臺(tái),又可以按照其所提供服務(wù)之層次細(xì)分為基礎(chǔ)設(shè)施服務(wù)(IaaS,例如在線存儲(chǔ)和數(shù)據(jù)庫服務(wù))、平臺(tái)即服務(wù)(PaaS,例如AMP虛擬主機(jī)和JavaEE應(yīng)用服務(wù)器容器)和軟件即服務(wù)(SaaS,例如GoogleDocs)。很多廠商在提到云計(jì)算的時(shí)候,往往會(huì)同時(shí)提到分布式計(jì)算(DistributedComputing)、并行計(jì)算(ParalleComputing)、網(wǎng)格計(jì)算(GridComputing)、實(shí)用計(jì)算(UtilityComputing)等等概念。事實(shí)上用戶并不關(guān)心這些五花八門的新名詞,他們所關(guān)心的僅僅是某項(xiàng)服務(wù)是否可用以及使用該服務(wù)所需要的成本。說得難聽點(diǎn),這些概念僅僅是云計(jì)算平臺(tái)提供商在創(chuàng)建云計(jì)算平臺(tái)時(shí)才需要了解的技術(shù)細(xì)節(jié),它們可以被認(rèn)為是云計(jì)算的表象,但并不是云計(jì)算的本質(zhì)。
三、云計(jì)算平臺(tái)的功能
云計(jì)算平臺(tái)使企業(yè)可以更有效地利用其IT硬件和軟件投資。企業(yè)可以通過該基礎(chǔ)結(jié)構(gòu)打破相互隔離的系統(tǒng)中固有的物理障礙,對(duì)系統(tǒng)群的管理猶如對(duì)單個(gè)實(shí)體那樣自動(dòng)進(jìn)行。對(duì)于提供信息服務(wù)、降低IT管理復(fù)雜性、促進(jìn)創(chuàng)新、以及通過實(shí)時(shí)工作負(fù)載均衡來提高響應(yīng)能力而言,云計(jì)算平臺(tái)都是最好的選擇。
下面我們通過幾個(gè)場(chǎng)景來看看使用云計(jì)算平臺(tái)之后的情況:
1)當(dāng)你需要使用服務(wù)資源的時(shí)候:
用戶可以通過一個(gè)簡單的Web界面聯(lián)機(jī)提交使用服務(wù)資源的申請(qǐng)。他們可以為自己的項(xiàng)目指定期望的開始日期和結(jié)束日期。數(shù)據(jù)中心管理員可以批準(zhǔn)或拒絕這個(gè)申請(qǐng)。批準(zhǔn)后自動(dòng)化服務(wù)管理平臺(tái)就會(huì)從可用的資源池中選擇適合的服務(wù)器、存儲(chǔ)、操作系統(tǒng)和軟件等資源,并且根據(jù)所申請(qǐng)的資源配置要求對(duì)這些資源進(jìn)行部署。用戶只需在等待很短的時(shí)間后就會(huì)收到平臺(tái)自動(dòng)發(fā)送的信息,告知用戶所需求的資源已經(jīng)部署完畢,可以使用。
2)當(dāng)服務(wù)資源出現(xiàn)緊張的時(shí)候:
虛擬世界需要大量的計(jì)算能力,當(dāng)虛擬空間擴(kuò)大或登錄用戶增多時(shí)尤其如此。大型多人在線網(wǎng)絡(luò)游戲(MMPOG)就是超大型虛擬世界的典范。一些商業(yè)化虛擬世界擁有多達(dá)幾百萬的注冊(cè)用戶,并且由數(shù)千臺(tái)服務(wù)器提供支持。
托管虛擬世界的企業(yè)可以通過自動(dòng)化服務(wù)管理平臺(tái)中的實(shí)時(shí)監(jiān)控器,顯示當(dāng)前基礎(chǔ)結(jié)構(gòu)的使用情況,或者顯示虛擬世界的任何指定“區(qū)域”中客戶的平均響應(yīng)時(shí)間。該企業(yè)發(fā)現(xiàn)A區(qū)域的用戶數(shù)量大幅增加,導(dǎo)致資源使用增加,響應(yīng)時(shí)間正在減緩,而此時(shí)X區(qū)域和Y區(qū)域的用戶數(shù)量較少,負(fù)載較低。于是,該企業(yè)可以在自動(dòng)化服務(wù)管理平臺(tái)中通過手動(dòng)的方式重新平衡資源,(當(dāng)然我們也可以預(yù)先在平臺(tái)中定義好資源平衡使用的策略,這樣在發(fā)生資源使用緊張的時(shí)候,管理平臺(tái)就可以按照定義好的策略自動(dòng)觸發(fā)相應(yīng)的操作)分別從X區(qū)域和Y區(qū)域分別撤出5臺(tái)服務(wù)器,并將這10臺(tái)服務(wù)器提供給A區(qū)域使用,用來緩解負(fù)載。幾分鐘后,這10臺(tái)服務(wù)器重新分配完成,而這個(gè)過程沒有對(duì)任何區(qū)域中的任何用戶造成影響,A區(qū)域的響應(yīng)時(shí)間也恢復(fù)到可接受的水平。該企業(yè)通過重新利用未充分使用的設(shè)備,極大地節(jié)省了成本,并保持了較高的客戶滿意度、避免了用戶需要呼叫幫助中心來尋求幫助,并且在幾分鐘之內(nèi)就完成了以前需要幾天或幾周時(shí)間來完成的工作。
用戶對(duì)于云計(jì)算平臺(tái)的主要需求包括:
云計(jì)算平臺(tái)最好是一個(gè)基于Web的門戶服務(wù)形式,用戶可以很方便的登錄并申請(qǐng)所需的資源。
平臺(tái)應(yīng)該可以通過自動(dòng)或者半自動(dòng)的方式發(fā)現(xiàn)數(shù)據(jù)中心中的可用資源并提供給用戶選擇使用。
平臺(tái)應(yīng)該可以得到流程引擎的支持,可以整合管理流程(例如ITIL),例如申請(qǐng)、批準(zhǔn)、評(píng)審和審計(jì)等功能。
云計(jì)算平臺(tái)的后端應(yīng)該是一系列用來進(jìn)行部署、監(jiān)控、計(jì)費(fèi)的系統(tǒng),滿足用戶對(duì)于申請(qǐng)資源的要求。
自動(dòng)化供應(yīng)
用戶通過基于角色的Web門戶網(wǎng)站來實(shí)現(xiàn)自動(dòng)化供應(yīng)。用戶在門戶網(wǎng)站填寫一張表單來定義其硬件平臺(tái)、CPU、內(nèi)存、存儲(chǔ)、操作系統(tǒng)、中間件和團(tuán)隊(duì)成員及其相關(guān)角色等信息。整個(gè)過程大約需要5分鐘。通過門戶網(wǎng)站提交請(qǐng)求之后,數(shù)據(jù)中心管理員會(huì)得到通知,并登錄以批準(zhǔn)、修改和/或拒絕該請(qǐng)求。一旦批準(zhǔn),系統(tǒng)就會(huì)啟動(dòng)一個(gè)定義好的自動(dòng)化工作流程來完成整個(gè)部署工作。完全自動(dòng)化的供應(yīng)流程符合安全要求,減少了人為原因造成的錯(cuò)誤,大大縮短了系統(tǒng)部署的時(shí)間。
預(yù)訂和調(diào)度
在提交服務(wù)申請(qǐng)時(shí),需要用戶了解資源使用的時(shí)間情況。因?yàn)樵谔峤簧暾?qǐng)時(shí)需要用戶填寫服務(wù)的開始和結(jié)束時(shí)間,這樣便于數(shù)據(jù)中心的管理人員對(duì)于資源使用情況有所了解。在服務(wù)到達(dá)結(jié)束時(shí)間時(shí),系統(tǒng)會(huì)自動(dòng)將資源收回,以便可以給其他需要資源的服務(wù)來使用。當(dāng)然用戶可以變更服務(wù)的結(jié)束時(shí)間,這也是管理平臺(tái)的重要功能之一,我們將在下面的部分說明。
變更管理
在某些項(xiàng)目中可以能會(huì)面臨開發(fā)延期或者新需求等有關(guān)的一些未知因素。這些未知因素有時(shí)會(huì)使遵守合同規(guī)定的結(jié)束日期變得困難,當(dāng)結(jié)束日期在項(xiàng)目延期之前幾個(gè)月便得到確認(rèn)時(shí),這種情況尤其明顯。因此,系統(tǒng)允許用戶請(qǐng)求延長其原定的合同結(jié)束日期。
經(jīng)過授權(quán)的項(xiàng)目成員可以登錄到平臺(tái)門戶網(wǎng)站,請(qǐng)求延長合同結(jié)束日期。數(shù)據(jù)中心管理員從資源能力和業(yè)務(wù)合理性兩方面對(duì)該請(qǐng)求進(jìn)行評(píng)估。管理員可以登錄到Web界面來查看該請(qǐng)求,并進(jìn)行審批操作。新的日期一經(jīng)批準(zhǔn),將會(huì)執(zhí)行相應(yīng)的任務(wù),也會(huì)對(duì)合同進(jìn)行更新以反映新的結(jié)束日期。
更改合同
云計(jì)算平臺(tái)還提供對(duì)于服務(wù)申請(qǐng)資源的變更功能。對(duì)于采用新技術(shù)或未經(jīng)測(cè)試技術(shù)的高風(fēng)險(xiǎn)項(xiàng)目而言,經(jīng)常需要變更服務(wù)器的操作系統(tǒng)、軟件等資源。
云計(jì)算平臺(tái)的合同變更功能非常靈活,用戶可以在原有的系統(tǒng)中添加或刪除軟件組件或者連同操作系統(tǒng)完全重新部署。用戶也可以向現(xiàn)有合同中添加服務(wù)器或者去除服務(wù)器,或者在符合要求的硬件系統(tǒng)上,也可以選擇增加或減少分配給一個(gè)或多個(gè)虛擬機(jī)的資源數(shù)量。當(dāng)變更申請(qǐng)?zhí)峤缓螅麄€(gè)系統(tǒng)的變更操作都是自動(dòng)進(jìn)行的,無需人工介入,系統(tǒng)可以在很短的時(shí)間內(nèi)完成變更申請(qǐng),提供給用戶使用。
四、云計(jì)算平臺(tái)搭建方法
目前開源的云計(jì)算平臺(tái)的搭建都要依托Linux系統(tǒng),因此我們有2種辦法搭建云計(jì)算平臺(tái):安裝Linux系統(tǒng)和在其他操作系統(tǒng)下安裝Linux虛擬機(jī)后搭建云平臺(tái)。目前主流的虛擬機(jī)有:
VirtualBox
Vmware
有了Linux系統(tǒng)環(huán)境后就能搭建云計(jì)算平臺(tái)了,幾大開源云平臺(tái)系統(tǒng)有:
Hadoop系統(tǒng)
OpenStack
云計(jì)算平臺(tái)的搭建=Linux系統(tǒng)+開源云平臺(tái)+SSH框架。
五、云計(jì)算平臺(tái)原理
1.Hadoop系統(tǒng)原理
Hadoop是一個(gè)開源的可運(yùn)行于大規(guī)模集群上的分布式并行編程框架,其最核心的設(shè)計(jì)包括:Map Reduce和HDFS。基于 Hadoop,你可以輕松地編寫可處理海量數(shù)據(jù)的分布式并行程序,并將其運(yùn)行于由成百上千個(gè)結(jié)點(diǎn)組成的大規(guī)模計(jì)算機(jī)集群上。
簡單的說:Map Reduce框架的核心步驟主要分兩部分:Map和Reduce。當(dāng)你向Map Reduce框架提交一個(gè)計(jì)算作業(yè)時(shí),它會(huì)首先把計(jì)算作業(yè)拆分成若干個(gè)Map任務(wù),然后分配到不同的節(jié)點(diǎn)上去執(zhí)行,每一個(gè)Map任務(wù)處理輸入數(shù)據(jù)中的一部分,當(dāng)Map任務(wù)完成后,它會(huì)生成一些中間文件,這些中間文件將會(huì)作為Reduce任務(wù)的輸入數(shù)據(jù)。Reduce對(duì)數(shù)據(jù)做進(jìn)一步處理之后,輸出最終結(jié)果。
Map Reduce是Hadoop的核心技術(shù)之一,為分布式計(jì)算的程序設(shè)計(jì)提供了良好的編程接口,并且屏蔽了底層通信原理,使得程序員只需關(guān)心業(yè)務(wù)邏輯本事,就可輕易的編寫出基于集群的分布式并行程序。從它名字上來看,大致可以看出個(gè)兩個(gè)動(dòng)詞Map和Reduce,“Map(展開)”就是將一個(gè)任務(wù)分解成為多個(gè)子任務(wù)并行的執(zhí)行,“Reduce”就是將分解后多任務(wù)處理的結(jié)果匯總起來,得出最后的分析結(jié)果并輸出。
適合用 Map Reduce來處理的數(shù)據(jù)集(或任務(wù))有一個(gè)基本要求:待處理的數(shù)據(jù)集可以分解成許多小的數(shù)據(jù)集,而且每一個(gè)小數(shù)據(jù)集都可以完全并行地進(jìn)行處理。
想要徹底了解Hadoop系統(tǒng)的原理是十分困難的,由于篇幅有限,知識(shí)水平也不高,我只能描寫其大概面貌,本次課程設(shè)計(jì)的核心是學(xué)習(xí)搭建與運(yùn)用云計(jì)算平臺(tái),沒有足夠的時(shí)間與精力去完全了解Hadoop的原理,在這里我們不妨就理解為:
Hadoop系統(tǒng)=HDFS分布式文件系統(tǒng)+Map Reduce運(yùn)算機(jī)制。
這樣就能很好的明白它們的大致關(guān)系,有助于對(duì)后面實(shí)驗(yàn)的理解。
2.Ubuntu系統(tǒng)
本次課程設(shè)計(jì)所使用的Linux系統(tǒng)是ubuntu14。
Ubuntu(烏班圖)是一個(gè)以桌面應(yīng)用為主的Linux操作系統(tǒng),其名稱來自非洲南部祖魯語或豪薩語的“Ubuntu”一詞,意思是“人性”、“我的存在是因?yàn)榇蠹业拇嬖凇保欠侵迋鹘y(tǒng)的一種價(jià)值觀,類似華人社會(huì)的“仁愛”思想。Ubuntu基于Debian發(fā)行版和GNOME桌面環(huán)境,而從11.04版起,Ubuntu發(fā)行版放棄了Gnome桌面環(huán)境,改為Unity,與Debian的不同在于它每6個(gè)月會(huì)發(fā)布一個(gè)新版本。Ubuntu的目標(biāo)在于為一般用戶提供一個(gè)最新的、同時(shí)又相當(dāng)穩(wěn)定的主要由自由軟件構(gòu)建而成的操作系統(tǒng)。
LTS 是 Ubuntu 的長期支持版,因此 Ubuntu 14.04 支持周期長達(dá) 3-5 年。因此 Ubuntu 14.04 是追求穩(wěn)定的用戶和企業(yè)的最佳選擇。所以本次課程設(shè)計(jì)選擇ubuntu14.04LTS版本完全能夠應(yīng)付云平臺(tái)搭建與相關(guān)實(shí)驗(yàn)的任務(wù)。
六、云計(jì)算平臺(tái)搭建過程
1.Ubuntu系統(tǒng)的安裝
去Ubuntu官網(wǎng)下載好對(duì)應(yīng)版本的系統(tǒng)鏡像,并用虛擬光驅(qū)軟件加載鏡像,選擇安裝Ubuntu系統(tǒng),一路點(diǎn)擊繼續(xù)后大約10來分鐘就可以安裝好Ubuntu系統(tǒng)了。
2.Hadopp系統(tǒng)部署
修改機(jī)器名:
打開/etc/hostname文件,將/etc/hostname文件中的Ubuntu改為你想取的機(jī)器名。這里我取“s15“。重啟系統(tǒng)后才會(huì)生效。
安裝ssh服務(wù):
在terminal窗口中輸入:Sudoaapt-getinstallopenssh-server
建立ssh無密碼登錄本機(jī)
在terminal窗口中輸入:
ssh-keygen-tdsa-P‘’-f~/.ssh/id_dsa
cat~/.ssh/id_dsa.pub》》~/.ssh/authorized_keys
登錄localhost:
在terminal窗口中輸入:bin/start-all.sh
安裝Hadoop:
下載Hadoop安裝包并解壓,打開Hadoop/conf/Hadoop.sh文件,配置conf/Hadoop.sh:找到#exportJAVA_HOME=。。。一行,去掉#,然后加上本機(jī)JDK的路徑。
打開conf/core-site.XML文件,加入如下代碼:
《configuration》
《property》
《name》fs.default.name《/name》
《value》hdfs://localhost:9000《/value》
《/property》
《/configuration》
打開conf/mapred-site.XML文件,編輯如下:
《configuration》
《property》
《name》mapred.job.tracker《/name》
《value》localhost:9001《/value》
《/property》
《/configuration》
打開conf/masters文件和conf/slaves文件,添加secondary的主機(jī)名,作為單機(jī)版環(huán)境,這里只需填寫localhost就Ok了。
到這里Hadoop系統(tǒng)就部署完畢了。調(diào)用bin/start-all.sh命令即可以啟動(dòng)Hadoop,用JSP命令查看系統(tǒng)狀態(tài),出現(xiàn)如下信息說明系統(tǒng)部署成功:
推薦閱讀:云計(jì)算是什么意思_云計(jì)算技術(shù)架構(gòu)_云計(jì)算和大數(shù)據(jù)的區(qū)別
評(píng)論