云計(jì)算-第10章 開源云計(jì)算系統(tǒng)介紹_第1頁(yè)
云計(jì)算-第10章 開源云計(jì)算系統(tǒng)介紹_第2頁(yè)
云計(jì)算-第10章 開源云計(jì)算系統(tǒng)介紹_第3頁(yè)
云計(jì)算-第10章 開源云計(jì)算系統(tǒng)介紹_第4頁(yè)
云計(jì)算-第10章 開源云計(jì)算系統(tǒng)介紹_第5頁(yè)
已閱讀5頁(yè),還剩54頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第10章開源云計(jì)算系統(tǒng)介紹

ifelouS

【教學(xué)內(nèi)容】

1.開源云計(jì)算系統(tǒng)Hadoop

2.開源云計(jì)算軟件Eucalyptus

3.開源虛擬化云計(jì)算平臺(tái)OpenStack

【教學(xué)要求】

1.掌握Hadoop的體系架構(gòu)、技術(shù)原理和應(yīng)用方案

2.掌握Eucalyptus的體系架構(gòu)、技術(shù)原理和應(yīng)用方案

3.掌握OpenStack的體系架構(gòu)、技術(shù)原理和應(yīng)用方案

【重點(diǎn)難點(diǎn)】

Hadoop的分布式計(jì)算框架MapReduce、OpenStack的核

心開源項(xiàng)目(Nova、Swift>Glance)

2

主要內(nèi)容

?10.1開源云計(jì)算系統(tǒng)Hadoop

■10.2開源云計(jì)算軟件Eucalyptus

■10.3開源虛擬化云計(jì)算平臺(tái)OpenStack

■Hadoop召筋施磔醺;

Hadoop是有Apache軟件基金會(huì)下的一個(gè)開源分布式計(jì)算平臺(tái)。

Hadoop以分布式文件系統(tǒng)HDFS和MapReduce(GoogleMapReduce的開

源實(shí)現(xiàn))為核心,為用戶提供了系統(tǒng)底層細(xì)節(jié)透明的分布式基礎(chǔ)架構(gòu)。

?HDFS的高容錯(cuò)性、高伸縮性等優(yōu)點(diǎn)允許

用戶將Hadoop部署在低廉的硬件上,形

成分布式系統(tǒng)。

,MapReduce分布式編程模型允許用戶在不

了解分布式系統(tǒng)底層細(xì)節(jié)的情況下開發(fā)

并行應(yīng)用程序。

?Hadoop召

Hadoop目前除了社區(qū)版,還有眾多廠商的發(fā)行版本,如華為發(fā)行版、

Intel發(fā)行版、Cloudera發(fā)行版(CDH)、Hortonworks發(fā)行版(HDP)、

M叩R等,所有這些發(fā)行版均是基于ApacheHadoop衍生出來(lái)的。

cloudera?最成型的發(fā)行版本,擁有最多的部署案例;提供強(qiáng)大的部

署、管理和監(jiān)控工具。

?不擁有任何私有(非開源)修改地使用了100%開口感空現(xiàn)。

Hortonworks

源ApacheHadoop的唯一提供商。

■為了獲取更好的性能和易用性而支持本地UNIX文

件系統(tǒng)而不是HDFS(使用非開源的組件)0

■Hadoop2.X的生態(tài)系統(tǒng)

Hadoop是一個(gè)能夠?qū)Υ罅繑?shù)據(jù)進(jìn)行分布式處理的軟件框架,具有

可靠、高效、可伸縮的特點(diǎn)。Hadoop的核心是HDFS和MapReduce

,在Hadoop2.X中還包括YARN。

Ambari

(安裝部?工具)

Oozie

(作業(yè)流調(diào)度系統(tǒng))

(

」案

B

d團(tuán)MapReduceSpark

3忘(離第十算)(DAG計(jì)(內(nèi)存計(jì)算)

0我

0田

z會(huì)

)YARN

(分布式計(jì)算框勘

HDFS

(分布式存儲(chǔ)系統(tǒng)

■Hadoop2.X的生態(tài)系統(tǒng)

?用于Hadoop的一個(gè)數(shù)據(jù)倉(cāng)庫(kù)系統(tǒng),提供類

Hive(基于Hadoop的數(shù)據(jù)倉(cāng)庫(kù))

似于SQL的查詢語(yǔ)言。

?一種分布的、可伸縮的、大數(shù)據(jù)存儲(chǔ)庫(kù),

Hbase(分布式列存數(shù)據(jù)庫(kù))

支持隨機(jī)、實(shí)時(shí)讀/寫訪問(wèn)。

?分析大數(shù)據(jù)集的一個(gè)平臺(tái),由一種表達(dá)數(shù)據(jù)

Pig(基于Hadoop的數(shù)據(jù)流系統(tǒng))分析程序的高級(jí)語(yǔ)言和對(duì)這些程序進(jìn)行評(píng)估

的基礎(chǔ)設(shè)施一起組成。

?為高效傳輸批量數(shù)據(jù)而設(shè)計(jì)的一種工具

(數(shù)據(jù)同步工具)

,用于ApacheHadoop和結(jié)構(gòu)化數(shù)據(jù)存Sqoop

儲(chǔ)庫(kù)如關(guān)系型數(shù)據(jù)庫(kù)之間的數(shù)據(jù)傳輸。

7

■Hadoop2.X的生態(tài)系統(tǒng)

?一種分布式的、可靠的、可用的服務(wù),用于

Flume(日志收集工具)

高效搜集、匯總、移動(dòng)大量日志數(shù)據(jù)。

?一種集中服務(wù),用于維護(hù)配置信息、命名

Zookeeper(分布式協(xié)作服務(wù))

、提供分布式同步以及提供分組^務(wù)。

?一種基于Hadoop的機(jī)器學(xué)習(xí)和數(shù)據(jù)挖掘的

Mahout(數(shù)據(jù)挖掘算法庫(kù))分布式計(jì)算框架算法集,實(shí)現(xiàn)了多種

MapReduce模式的數(shù)據(jù)挖掘算法。

?一個(gè)開源數(shù)據(jù)分析集群計(jì)算框架。與

Hadoop一樣用于構(gòu)建大規(guī)模、低延時(shí)的

數(shù)據(jù)分析應(yīng)用。

■Hadoop2.X的生態(tài)系統(tǒng)

?屬于流處理平臺(tái),多用于實(shí)時(shí)計(jì)算并更新數(shù)據(jù)庫(kù);也可以用于“

Storm連續(xù)計(jì)算”對(duì)數(shù)據(jù)流做連續(xù)查詢;還可以用于“分布式RPC”,

以并行的方式運(yùn)行大型的運(yùn)算。

?即HiveonSpark,一個(gè)專門為Spark打造的大規(guī)模數(shù)據(jù)倉(cāng)庫(kù)

Shark

系統(tǒng),兼容ApacheHive。無(wú)需修改現(xiàn)有的數(shù)據(jù)或者查詢,

就可以用100倍的速度執(zhí)行HiveQLo

■一個(gè)構(gòu)建在ApacheHBase之上的SQL中間層,完全使用Java編

Phoenix寫,提供了一個(gè)客戶端可嵌入的JDBC驅(qū)動(dòng)。Phoenix查詢引擎會(huì)

將SQL查詢轉(zhuǎn)換為一個(gè)或多個(gè)HBasescan,并編排執(zhí)行以生成標(biāo)

準(zhǔn)的JDBC結(jié)果集。

?HadooplA的生態(tài)播

■一個(gè)基于HadoopYARN之上的DAG計(jì)算框架。把Map/Reduce

過(guò)程拆分為若干個(gè)子過(guò)程,同時(shí)可以把多個(gè)Map/Reduce任務(wù)組

合成一個(gè)較大的DAG任務(wù),減少M(fèi)ap/Reduce之間的文件存儲(chǔ)。

■一個(gè)供應(yīng)、管理和監(jiān)視ApacheHadoop集群的開源框架,

Anibari

提供了一個(gè)直觀的操作工具和一個(gè)健壯的HadoopAPI,可

以隱藏復(fù)雜的Hadoop操作,使集群操作大大簡(jiǎn)化。

?YetAnotherResourceNegotiator,另一種資源協(xié)調(diào)者,是一

YARN種新的Hadoop資源管理器,是一個(gè)通用資源管理系統(tǒng),可為上

層應(yīng)用提供統(tǒng)一的資源管理和調(diào)度。

10

■Hadoop分^^^計(jì)

MapReduce

MapReduce是Google開發(fā)的Java、PythonxC++編程模型,

它是一種簡(jiǎn)化的分布式編程模型和高效的任務(wù)調(diào)度模型,用于大規(guī)模

數(shù)據(jù)集(大于1TB)的并行計(jì)算。

MapReduce借鑒了Lisp等函數(shù)編程語(yǔ)言的思想,將要執(zhí)行的問(wèn)

題分解成Map(映射)和Reduce(歸約)的方式:

■先通過(guò)M叩程序?qū)?shù)據(jù)切割成不相關(guān)的區(qū)塊,分配(調(diào)度)給

大量計(jì)算機(jī)嫗里,達(dá)到分布式運(yùn)算的效果;

■再通過(guò)Reduce程序?qū)⒔Y(jié)果匯總輸出c

MapReduce中的Map和Reduce操作的抽象描述

?m^p:(kl;vl)f[(k2;v2)]

輸入:鍵值對(duì)(k1;v1)表示的數(shù)據(jù)

處理:文檔數(shù)據(jù)記錄(如文本文件中的行,或數(shù)據(jù)表格中的行)將以“

鍵值對(duì)”形式傳入map函數(shù);map函數(shù)將處理這些鍵值對(duì),并以

另一種鍵值對(duì)形式輸出處理的一組鍵值對(duì)中間結(jié)果[(k2;v2)]

輸出:鍵值對(duì)[(k2;v2)]表示的一組中間數(shù)據(jù)

12

MapReduce中的Map和Reduce操作的抽象描述

?reduce:(k2;[v2])~>[(k3;v3)]

輸入:由map輸出的一組鍵值對(duì)[(k2;v2)]將被進(jìn)行合并處理將同樣主

鍵下的不同數(shù)值合并到一個(gè)列表[v2]中,故reduce的輸入為(k2;

[v2J)

處理:對(duì)傳入的中間結(jié)果列表數(shù)據(jù)進(jìn)行某種整理或進(jìn)一步的處理,并

產(chǎn)生最終的某種形式的結(jié)果輸出[(k3;v3)]o

輸出:最終輸出結(jié)果[(k3;v3)]

Map和Reduce為程序員提供了一個(gè)清晰的操作接口抽象描述。

MapReduce程序的具體執(zhí)行過(guò)程

寫中間文件

輸入文件蚓)階段(在木地)Reduce階段輸出文件

■Hadoop應(yīng)用

在大數(shù)據(jù)背景下,ApacheHadoop已經(jīng)逐漸成為一種標(biāo)簽性。隨

著業(yè)界對(duì)這一開源分布式技術(shù)不斷加深了解,Hadoop被廣泛應(yīng)用于

在線旅游、移動(dòng)數(shù)據(jù)、電子商務(wù)、能源發(fā)現(xiàn)、能源節(jié)省、基礎(chǔ)設(shè)施管

理、圖像處理、欺詐檢測(cè)、IT安全、醫(yī)療保健等不同領(lǐng)域。

Walmart*ebYVISA

夕幅強(qiáng)Bai&gg

15

全球最大超市業(yè)者Wa?-MartWalmart不

*Wal-Mart分析顧客商品搜索行為,找出超越競(jìng)爭(zhēng)對(duì)手的商機(jī)

Wal-Mart決定采用Hadoop來(lái)分析顧客搜尋商品的行為以及用戶透

過(guò)搜索引擎尋找到Wal-Mart網(wǎng)站的關(guān)鍵詞,利用這些關(guān)鍵詞的分析結(jié)果

發(fā)掘顧客需求,以規(guī)劃下一季商品的促銷策略。此外,Wal-Mart還嘗試

分析顧客在Facebook、Twitter等社交網(wǎng)站上對(duì)商品的討論,期望能比

競(jìng)爭(zhēng)對(duì)手提前一步發(fā)現(xiàn)顧客需求。

例如,Wal-Mart能比父親更快知道女兒

懷孕的消息,并且主動(dòng)寄送相關(guān)商品的

促銷郵件。

?16

全球最大拍賣網(wǎng)站eBayeb

*eBay用Hadoop拆解非結(jié)構(gòu)性巨量數(shù)據(jù),降低數(shù)據(jù)倉(cāng)儲(chǔ)負(fù)載

作為全球最大的拍賣網(wǎng)站,eBay具有龐大的用戶數(shù)據(jù),且這些數(shù)

據(jù)囊括了結(jié)構(gòu)化的數(shù)據(jù)和非結(jié)構(gòu)化的數(shù)據(jù),如照片、影片、電子郵件

、用戶的網(wǎng)站瀏覽Log記錄等。

為了解決同時(shí)要分析大量結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化的難題,eBay通

過(guò)Hadoop進(jìn)行數(shù)據(jù)預(yù)先處理,將大塊結(jié)構(gòu)的非結(jié)構(gòu)化數(shù)據(jù)拆解成小型

數(shù)據(jù),再放入數(shù)據(jù)倉(cāng)儲(chǔ)系統(tǒng)的數(shù)據(jù)模型中分析,來(lái)加快分析速度,也

減輕對(duì)數(shù)據(jù)倉(cāng)儲(chǔ)系統(tǒng)的分析負(fù)載。

全球最大信用卡公司VisaVISA

率Visa快速發(fā)現(xiàn)可疑交易,1個(gè)月分析時(shí)間縮短成13分鐘

雖然每筆交易的數(shù)據(jù)記錄只有短短200

位,但每天VisaNet要處理全球上億筆交

易,2年累積的資料多達(dá)36TB,原本分析5

億個(gè)用戶賬號(hào)之間的關(guān)聯(lián),得等1個(gè)月。

Visa在2009年時(shí)導(dǎo)入了Hadoop,讓分析

時(shí)間從1個(gè)月縮短到13分鐘,更快速地找

出了可疑交易,也能更快對(duì)銀行提出預(yù)警

,甚至能及時(shí)阻止詐騙交易。

?18

全球晏大的中文搜索引擎百度Baidu百度

百度的Hadoop集群為整個(gè)公司的數(shù)據(jù)團(tuán)隊(duì)、大搜索團(tuán)隊(duì)、社區(qū)產(chǎn)品團(tuán)

隊(duì)、廣告團(tuán)隊(duì),以及LBS團(tuán)體提供統(tǒng)一的計(jì)算和存儲(chǔ)服務(wù),主要應(yīng)用包括數(shù)

據(jù)挖掘與分析、日志分析平臺(tái)、數(shù)據(jù)倉(cāng)庫(kù)系統(tǒng)、推薦引擎系統(tǒng)、用戶行為分

析系統(tǒng)等。

同時(shí),百度在Hadoop的AlgorithmDescriptionLayerSQL-likeRepreservationLayer

ComputingMocelComputingModel

基礎(chǔ)上還開發(fā)了自己的日志ClassificationClustering

MapReduceDAG

分析平臺(tái)、數(shù)據(jù)倉(cāng)庫(kù)系統(tǒng),VectorRegression

以及統(tǒng)一的C++編程接口,SchedulingLayerSchedulingLayer

(HPCScheduler,Agent)(DCScheduler,Agent)

并對(duì)Hadoop進(jìn)行深度改造,CommunicationIntensive-HPCData&ComputingIntensive-DC.

開發(fā)了HadoopC++擴(kuò)展ComputingResourceManagementLayer

HCE系統(tǒng)。

19

全球領(lǐng)先的互聯(lián)網(wǎng)公司阿里巴巴典黑?巴

阿里巴巴的Hadoop集群擁有150個(gè)用戶組、4500個(gè)集群用戶,為淘寶

、天貓、一淘、聚劃算、CBU、支付寶提供底層的基礎(chǔ)計(jì)算和存儲(chǔ)服務(wù),主

要應(yīng)用包括數(shù)據(jù)平臺(tái)系統(tǒng)、搜索支撐、廣告系統(tǒng)、數(shù)據(jù)魔方、量子統(tǒng)計(jì)、淘

數(shù)據(jù)、推薦引擎系統(tǒng)、搜索排行榜等。為了便于開發(fā),阿里巴巴還開發(fā)了

WebIDE繼承開發(fā)環(huán)境,使用的相關(guān)系統(tǒng)包括Hive、Pig、Mahoutv

Hbase等。

?20

主要內(nèi)容

?10.1開源云計(jì)算系統(tǒng)Hadoop

,10.2開源云計(jì)算軟件Eucalyptus一

■10.3開源虛擬化云計(jì)算平臺(tái)OpenStack

21

■Eucalyptus簡(jiǎn)介

|Eucalyptus:枝樹

——加州大學(xué)圣巴巴拉分校建立的開源項(xiàng)目

——將程序連接到有用系統(tǒng)的彈性效能計(jì)算體系結(jié)構(gòu)

ElasticUtilityComputingArchitectureforLinkingYour

ProgramstoUsefulSystems

功能:Eucalyptus全局掌控各種基于物理設(shè)施的虛擬設(shè)備,

實(shí)現(xiàn)對(duì)整個(gè)集群的計(jì)算能力的動(dòng)態(tài)配置

■EucaIyptus簡(jiǎn)介e

開發(fā)目的

—為研究者提供模塊化的試驗(yàn)平臺(tái)

>設(shè)計(jì)原則

——Eucalyptus必須能夠在不受其設(shè)計(jì)者操控的軟硬件環(huán)境中進(jìn)

行部署和執(zhí)行。

-Eucalyptus必須是模塊化的,以便不同的研究者進(jìn)行升級(jí)、

改造和替換,同時(shí)能夠?qū)崿F(xiàn)最大程度的可擴(kuò)展性。

》設(shè)計(jì)目標(biāo)

—可擴(kuò)展性、非侵入性

EucaIyptus的AWS兼容性

Eucalyptus是AmazonEC2的一個(gè)開源實(shí)現(xiàn),它與EC2的商業(yè)服務(wù)

接口兼容。EucaIyptus的AWS兼容性主要體現(xiàn)以下幾個(gè)方面:

廣泛AWS服務(wù)支持高度API兼容

應(yīng)用遷移應(yīng)用設(shè)計(jì),工具和生態(tài)系統(tǒng)

?21

■Eucalyptus體系結(jié)構(gòu)

Eucalyptus采用了分層的體系結(jié)構(gòu),包含五個(gè)主要組件:云控制器(

CLC)、持續(xù)性數(shù)據(jù)存儲(chǔ)(WaIrus).集群控制器(CC)、存儲(chǔ)控制器(

SC)和節(jié)點(diǎn)控制器(NC)o它們能相互協(xié)作共同提供所需的云服務(wù)。

CLOUD

CLOUDCONTROLLERWALRUS

CLUSTERSTORAGEVMWARE

CLUSTERCONTROLLERCONTROLLERBROKER

(AVAILABILITYZONE)(CC)(SC)(OPTIONAL)

NODES

?25

?Eucalyptus體系結(jié)構(gòu)

?在Eucalyplus云內(nèi),是主要的控制器組件,負(fù)責(zé)管理整個(gè)系

CloudController

統(tǒng)。它是所有用戶和管理員進(jìn)入EucaIyptus云的主要入口。

Walrus是一個(gè)與AmazonS3類似的存儲(chǔ)服務(wù)。這個(gè)控制Walrus

器組件管理對(duì)EucaIyptus內(nèi)的存儲(chǔ)服務(wù)的訪問(wèn)。

?負(fù)責(zé)從所屬的節(jié)點(diǎn)控制器收集節(jié)點(diǎn)的狀態(tài)信息,并管理公共

ClusterController

和私有實(shí)例網(wǎng)絡(luò)的配置。

實(shí)現(xiàn)Amazon的S3接口。與Walrus聯(lián)合工作,用于存儲(chǔ)和

StorageController

訪問(wèn)虛擬機(jī)映像、內(nèi)核映像、RAM磁盤映像和用戶數(shù)據(jù)。

NodeController?控制主機(jī)操作系統(tǒng)及相應(yīng)的Hypervisor(Xen或KVM)。

?26

■EucaIyptus配置

一個(gè)Eucalyptus云安裝可以聚合和管理來(lái)自一個(gè)或多個(gè)集群的資源。

一個(gè)集群是連接到相同LAN的一組機(jī)器。在一個(gè)集群中,可以有一個(gè)或多

個(gè)NC實(shí)例,每個(gè)實(shí)例管理虛擬實(shí)例的實(shí)例化和終止。

■在一個(gè)單一集群的安裝中,將至

少包含兩個(gè)機(jī)器:一個(gè)機(jī)器運(yùn)行

CC、SC和CLC,另一個(gè)機(jī)器運(yùn)行

NCo這種配置主要適合于試驗(yàn)的

目的以及快速配置的目的。

*27

■Eucalyptus配置

■在多集群安裝中,可以將各個(gè)組件(CC、SC、NC和CLC)

放置在單獨(dú)的機(jī)器上。多集群的結(jié)果是可用性的提高、負(fù)載

?28

■EucaIyptusf/^

EucaIyptus對(duì)企業(yè)數(shù)據(jù)中心和沒(méi)有特殊硬件要求的需求,可以進(jìn)行混合云

和私有云部署。

Eucalyptus可以安全的虛擬化服務(wù)器、網(wǎng)絡(luò)和儲(chǔ)存,從而降低成本,提高

維護(hù)便利性,并提供用戶自助服務(wù)。

Eucalyptus的模塊化設(shè)計(jì)為廣泛的用戶、不同的用戶界面、虛擬化技術(shù)帶

來(lái)了好處,并且為服務(wù)供應(yīng)商提供了一個(gè)基于消費(fèi)定價(jià)模式的運(yùn)營(yíng)平臺(tái)。

Eucalyptus的核心架構(gòu),將繼續(xù)保持開放源代碼。它將利用全球開發(fā)社區(qū)

的智慧。

-I

?*29

主要內(nèi)容

■10.1開源云計(jì)算系統(tǒng)Hadoop

■10.2開源云計(jì)算軟件Eucalyptus

■10.3開源虛擬化云計(jì)算平臺(tái)OpenStack

30

,OpenStack背景介紹Uopenstack

CLOUDSOFTWARE

OpenStack是一個(gè)由Rackspace公司和美國(guó)國(guó)家航空航天局(NASA

)共同開發(fā)的云計(jì)算平臺(tái)項(xiàng)目,可以為共有云和私有云服務(wù)提供云計(jì)算基

礎(chǔ)架構(gòu)平臺(tái)。OpenStack使用的開發(fā)語(yǔ)言是Python,采用Apache許可證

發(fā)布該項(xiàng)目源代碼。OpenStack支持多種不同的Hypervisor。

OpenStack

+0

-----

為NASA的計(jì)算處Rackspace開發(fā)

理服務(wù)而開發(fā)的存儲(chǔ)服務(wù)組件

?_______________________________________________________?31

■OpenStack背景介紹

OpenStack的作用是整合各種底層硬件硬件資源,為系統(tǒng)管理員提供

Web界面的控制面板以方便資源管理,為開發(fā)者的應(yīng)用程序提供統(tǒng)一管理

接口,為終端用戶提供無(wú)縫的透明的云計(jì)算服務(wù)。

OpenStack在云計(jì)算軟硬件架構(gòu)的主要作用域一個(gè)操作系統(tǒng)類似。

YniifAppliFfin

APOPENSTACK

OXH.UCHX>lTNC6Y$rLM

OpenStackDashboard

ComputeNetworkingStorage

SundardHardware

OpenStack架構(gòu)

32

■OpenStnck背景介紹

OpenStack作為IaaS層的云操作系統(tǒng),主要管理計(jì)算、網(wǎng)絡(luò)和存儲(chǔ)

三大類資源。

計(jì)算資源管理存a儲(chǔ)資源管理網(wǎng)絡(luò)資源管理

可以規(guī)劃并管理大量可以為云服務(wù)或云應(yīng)用提供了插件式、可擴(kuò)展

虛擬機(jī),從而允許企提供所需的對(duì)象及塊存、API驅(qū)動(dòng)型的網(wǎng)絡(luò)及

業(yè)或服務(wù)提供商按需儲(chǔ)資源。IP管理。

提供計(jì)算資源。

OpenStack核心功能

KeystoreHorizon

ProvidesauthProvidesUI

34

OpenStack核心功能

我認(rèn)說(shuō)及務(wù)

Keystone

計(jì),服務(wù)

Ceilometer

數(shù)據(jù)庫(kù)服務(wù)Trove

?35

OpenStack的主要服務(wù)

OpenStack有三個(gè)核心開源項(xiàng)目:計(jì)算服務(wù)(Nova)、存儲(chǔ)服務(wù)(

Swift)X鏡像服務(wù)(GIance)

計(jì)算服務(wù)

(Nova)

通過(guò)API調(diào)用openStack宮里虛擬機(jī)

用戶■

通過(guò)Glance

創(chuàng)建和管理

管理員鏡像快照

對(duì)象存儲(chǔ)組件

鏡像管理組件

(Swift)

(Nova)

用標(biāo)準(zhǔn)的硬件進(jìn)行PB級(jí)

通過(guò)Swift存儲(chǔ)t夬照管理鏡像

的安全、可靠的存儲(chǔ)

?36

計(jì)算服務(wù)Nova

Nova是OpenStack云中的計(jì)算組織控制器

Nova處理OpenStack云中實(shí)例(instances)生命周期的所有活動(dòng)

。這樣使得Nova成為一個(gè)負(fù)責(zé)管理計(jì)算資源、網(wǎng)絡(luò)、認(rèn)證、所需可擴(kuò)

展性的平臺(tái)。

但是,Nova并不具有虛擬化能力,相反它使用LibvirtAPI來(lái)與被

支持的Hypervisors交互。Nova通過(guò)一個(gè)與AmazonWebServices(

AWS)EC2API兼容的WebServicesAPI來(lái)對(duì)外提供服務(wù)。

Nova主要組件

38

Nova組件介紹

l.APIServer(Nova-Api)

APIServer對(duì)外提供一個(gè)與云基礎(chǔ)設(shè)施交互的接口,也是外部可用于

管理基礎(chǔ)設(shè)施的唯一組件。

2.MessageQueue(RabbitMQServer)

OpenStack節(jié)點(diǎn)之間通過(guò)消息隊(duì)列使用AMQP(AdvancedMessage

QueueProtocol)完成通信。

39

Nova組件介紹

3.ComputeWorker(Nova-Compute)

ComputeWorker管理實(shí)例生命周期,通過(guò)MessageQueue接收實(shí)例生

命周期管理的請(qǐng)求,并承擔(dān)操作工作。

4.NetworkController(Nova-Network)

NetworkControlIer處理主機(jī)的網(wǎng)絡(luò)配置,包括IP地址分配、為項(xiàng)目配

置VLAN、實(shí)現(xiàn)安全組、配置計(jì)算節(jié)點(diǎn)網(wǎng)絡(luò)。

10

Nova組件介紹

5.VolumeWorkers(Nova-Volume)

VoIumeWorkers用來(lái)管理基于LVM(LogicalVoIumeManager)的實(shí)例

卷。VolumeWorkers有卷的相關(guān)功能,例如新建卷、刪除卷、為實(shí)例

附加卷、為實(shí)例分離卷。

6.Scheduler(Nova-Scheduler)

調(diào)度器ScheduIer把Nova-API調(diào)用映射為OpenStack組件。調(diào)度器作為

一個(gè)Nova-ScheduIe守護(hù)進(jìn)程運(yùn)行,通過(guò)恰當(dāng)?shù)恼{(diào)度算法從可用資源池

獲得一個(gè)計(jì)算服務(wù)。

~~隨機(jī)算法~可用域算法~簡(jiǎn)單算法

11

Nova工作流程

Nova-API對(duì)外統(tǒng)一提供標(biāo)準(zhǔn)化接口,各子模塊,如計(jì)算資源,存儲(chǔ)

資源和網(wǎng)絡(luò)資源子模塊通過(guò)相應(yīng)的API接口服務(wù)對(duì)外提供服務(wù)。

WSGI(nova-api)

computer-apinetwork-apischedule-apivolume-api

nova-computernova-networKnova-schedulernova-volume

Nova運(yùn)行架構(gòu)

42

Nova工作流程

以創(chuàng)建虛擬機(jī)為例,分析Nova的不同關(guān)鍵子模塊之間的調(diào)用關(guān)系。

Compute-API通過(guò)RPC的

方式將創(chuàng)建虛擬機(jī)的基砒根據(jù)請(qǐng)求的虛擬資源,即

調(diào)用Compute-Api創(chuàng)建flavor而彳言息,法捽一臺(tái)物理

信息封裝成消息發(fā)送至消

虛擬機(jī)VM接口。

卷中間件指定消息隊(duì)列,主機(jī)部署,如物理主機(jī)A

"Scheduler"o

Nova-Network接收到消息后

,從fixedIP表里拿出一個(gè)可物理機(jī)A上Nova-Compute守

用IP,并根據(jù)私網(wǎng)資源池,Nova-Compute調(diào)用護(hù)進(jìn)程訂閱消息隊(duì)列

Network-API分配向

合DHCP,實(shí)現(xiàn)IP分配和"Compute物埋機(jī)A",接到

IPi也址綁定。rIPoq二:、后,根據(jù)虛擬機(jī)基本信

息刑能犍虛擬機(jī)。

Nova-Compute通過(guò)調(diào)用Volume-API實(shí)現(xiàn)存儲(chǔ)劃分,

最后調(diào)用底層虛擬化Hypervisor技術(shù),部署虛擬機(jī)。

43

Nova物理部署方案

從功能上看,Nova平臺(tái)中有兩類節(jié)點(diǎn):控制節(jié)點(diǎn)和計(jì)算節(jié)點(diǎn),其角

色由安裝的服務(wù)決定,控制節(jié)點(diǎn)包括網(wǎng)絡(luò)控制Network、調(diào)度管理

Scheduler、Api服務(wù)、存儲(chǔ)卷管理Nova-Volume等,計(jì)算節(jié)點(diǎn)主要提供

Nova-Compute服務(wù)。節(jié)點(diǎn)之間使用AMQP作為通訊總線。

由于使用了消息總線,因此服務(wù)之間是位置透明的,可以將所有服務(wù)

可以部署在同一臺(tái)主機(jī)上,即AlI-in-One(一般用于測(cè)試),也可以根據(jù)

業(yè)務(wù)需要,將其分開部署在不同的主機(jī)上。

用在生產(chǎn)環(huán)境Nova平臺(tái)配置一般有三種類型:

最簡(jiǎn)配置標(biāo)準(zhǔn)配置高級(jí)配置

41

最簡(jiǎn)配置

需要至少兩個(gè)節(jié)點(diǎn),除了Nova-Compute外所有服務(wù)都部署在一臺(tái)

主機(jī)里,這臺(tái)主機(jī)進(jìn)行各種控制管理,即控制節(jié)點(diǎn)。

OpenStack雙點(diǎn)架構(gòu)

45

標(biāo)準(zhǔn)配置

控制節(jié)點(diǎn)的服務(wù)可以分開在多個(gè)節(jié)點(diǎn),標(biāo)準(zhǔn)的生產(chǎn)環(huán)境推薦使用至少

4臺(tái)主機(jī)來(lái)進(jìn)一步細(xì)化職責(zé)??刂破鳌⒕W(wǎng)絡(luò)、卷和計(jì)算職責(zé)分別由一臺(tái)主

機(jī)擔(dān)任。

OpenStack多節(jié)點(diǎn)架構(gòu)46

高級(jí)配置

很多情況下(比如為了高可用性),需要把各種管理服務(wù)分別部署在

不同主機(jī)(比如分別提供數(shù)據(jù)庫(kù)集群服務(wù)、消息隊(duì)列、鏡像管理、網(wǎng)絡(luò)控

制等),形成更復(fù)雜的架構(gòu)。入

OpenStack高級(jí)架構(gòu)47

對(duì)象存儲(chǔ)服務(wù)Swift

Swift是OpenStack開源云計(jì)算項(xiàng)目的子項(xiàng)目之一,是一個(gè)可擴(kuò)展的對(duì)

象存儲(chǔ)系統(tǒng)。

擴(kuò)展性冗余性持久性

Swift構(gòu)筑在比較便宜的標(biāo)準(zhǔn)硬件存儲(chǔ)基礎(chǔ)設(shè)施之上,通過(guò)在軟件層

面引入一致性散列技術(shù)和數(shù)據(jù)冗余性,犧牲一定程度的數(shù)據(jù)一致性來(lái)達(dá)

到高可用性和可伸縮性,支持多租戶模式、容器和對(duì)象讀寫操作,適合

解決互聯(lián)網(wǎng)的應(yīng)用場(chǎng)景下非結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)問(wèn)題。

48

Swift特性

數(shù)據(jù)的可靠性,是指數(shù)據(jù)存儲(chǔ)到系統(tǒng)中后,到某一天數(shù)據(jù)

1.極高的數(shù)據(jù)持久性

丟失的可能性。

“對(duì)稱”意味著Swift中各節(jié)點(diǎn)可以完全對(duì)等,能極大地降

2.完全對(duì)稱的系統(tǒng)架構(gòu)

低系統(tǒng)維護(hù)成本。

一是數(shù)據(jù)存儲(chǔ)容量無(wú)限可擴(kuò)展,二是Swift性能(如QPS、

3.無(wú)限的可擴(kuò)展性

吞吐量等)可線性提升。

整個(gè)Swift集群中,也沒(méi)有一個(gè)角色是單點(diǎn)的,并且在架構(gòu)

4.無(wú)單點(diǎn)故障和設(shè)計(jì)上保證無(wú)單點(diǎn)業(yè)務(wù)是有效的。

簡(jiǎn)單體現(xiàn)在實(shí)現(xiàn)易懂、架構(gòu)優(yōu)美、代碼整潔;可依賴是指

5.簡(jiǎn)單、可依賴Swift經(jīng)測(cè)試、分析之后,可以放心大膽地將Swift用于最核

卜口的存儲(chǔ)業(yè)務(wù)上。

?49

Swift主要組件

Swift系統(tǒng)架構(gòu)

Swift采用完全對(duì)稱、面

向資源的分布式系統(tǒng)架構(gòu)設(shè)

計(jì),所有組件都可擴(kuò)展,避

免因單點(diǎn)失效而擴(kuò)散并影響

整個(gè)系統(tǒng)運(yùn)轉(zhuǎn);通信方式采

用非阻塞式I/O模式,提高了

系統(tǒng)吞吐和響應(yīng)能力。

Swift主要組件

認(rèn)證服務(wù)(AuthenticationServer)賬戶服務(wù)(AccountServer)

?驗(yàn)證訪問(wèn)用戶的身份信息?提供賬戶元數(shù)據(jù)和統(tǒng)計(jì)信息

?獲得一個(gè)對(duì)象訪問(wèn)令牌(Token)?維護(hù)所含容器列表的服務(wù)

?驗(yàn)證訪問(wèn)令牌的有效性?每個(gè)賬戶的信息被存儲(chǔ)在一個(gè)

?緩存下來(lái)直至過(guò)期時(shí)間SQLite數(shù)據(jù)庫(kù)中

代理服務(wù)(ProxyServer)緩存服務(wù)(CacheServer)

?對(duì)外提供對(duì)象服務(wù)API?緩存的內(nèi)容包括對(duì)象服務(wù)令牌、賬戶和

?查找服務(wù)地址容器的存在信息

?轉(zhuǎn)發(fā)用戶請(qǐng)求至相應(yīng)的賬戶、容器?緩存服務(wù)可采用Memcached集群,

或者對(duì)象服務(wù)Swift會(huì)使用一致性散列算法來(lái)分配緩

?進(jìn)行橫向擴(kuò)展來(lái)均衡負(fù)載存地址

?51

Swift主要組件

對(duì)象^艮務(wù)(ObjectServer)更新服務(wù)(Updater)

?提供對(duì)象元數(shù)據(jù)和內(nèi)容服務(wù)■任務(wù)將會(huì)被序列化到在本地文件系

?每個(gè)對(duì)象的內(nèi)容會(huì)以文件的形式統(tǒng)中進(jìn)行排隊(duì)

存儲(chǔ)在文件系統(tǒng)中?更新服務(wù)會(huì)在系統(tǒng)恢復(fù)正常后掃描

?元數(shù)據(jù)會(huì)作為文件屬性來(lái)存儲(chǔ)隊(duì)列并進(jìn)行相應(yīng)的更新處理

容器服務(wù)(ContainerServer)復(fù)制服務(wù)(Replicator)

?提供容器元數(shù)據(jù)和統(tǒng)計(jì)信息?采用推式(Push)更新遠(yuǎn)程副本

?維護(hù)所含對(duì)象列表的服務(wù)?確保被標(biāo)記刪除的對(duì)象從文件系統(tǒng)中移

?每個(gè)容器的信息也存儲(chǔ)在一個(gè)除

SQLite數(shù)據(jù)庫(kù)中

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論