OpenStack大數(shù)據(jù)項(xiàng)目 Sahara 概念和架構(gòu)
Sahara旨在為用戶提供簡單部署Hadoop集群的能力,比如通過簡單的配置:Hadoop版本、集群結(jié)構(gòu)、節(jié)點(diǎn)硬件信息等。在用戶提供了這些參數(shù)后,Sahara迅速把Hadoop集群部署起來。同時也支持集群的擴(kuò)容和減容。
其應(yīng)用場景包括:
1) 提供在OpenStack上快速配置和部署Hadoop集群的能力。
2) 充分利用OpenStack Iaas層的計(jì)算能力。
3) 提供分析即服務(wù)的數(shù)據(jù)分析業(yè)務(wù),有點(diǎn)像亞馬遜的EMR。
Sahara主要的特性包括:
1) Sahara作為OpenStack的一個組件。
2) 通過OpenStack的Dashboard調(diào)用REST API來管理。
3) 支持不同的Hadoop版本
4) 可配置的Hadoop配置模板。
Sahara課OpenStack的Horizon(提供GUI)、Keystone(提供鑒權(quán)功能)、Nova(為了創(chuàng)建Hadoop集群虛擬機(jī))、Heat(Sahara可以配置成使用Heat來協(xié)調(diào)Hadoop集群所需要的服務(wù))、Glance(存放Hadoop虛擬機(jī)鏡像)、Swift(可以用于存放Hadoop任務(wù)處理的數(shù)據(jù))、Cinder(用于提供塊存儲)、Neutron(提供網(wǎng)絡(luò)服務(wù))、Ceilometer(用于收集集群的信息來達(dá)到計(jì)量和監(jiān)控的目的)有交互。
主要的工作流程介紹:
常見的快速配置集群步驟如下:
1) 選擇Hadoop版本
2) 選擇鏡像(如果鏡像中沒有預(yù)安裝Hadoop,Sahara也支持通過可插入的部署引擎)
3) 設(shè)置集群的參數(shù):大小、拓?fù)涞取?/p>
4) 創(chuàng)建集群:Sahara會進(jìn)行虛擬機(jī)的安裝和Hadoop的配置。
5) 集群管理:包括添加或者刪除節(jié)點(diǎn)。
6) 刪除集群
通用的分析服務(wù)工作流程:
1) 選擇一個預(yù)定義的Hadoop版本
2) 編輯任務(wù)
a) 選擇任務(wù)類型:pig、hive、jar-file等
b) 提供任務(wù)的腳本地址或者jar包的位置
c) 選擇輸入輸出數(shù)據(jù)的位置
d) 選擇日志的位置
3) 設(shè)置集群的大小
4) 執(zhí)行任務(wù)
5) 獲取任務(wù)執(zhí)行結(jié)果
Sahara架構(gòu)包含一下幾個模塊:
鑒權(quán)模塊:負(fù)責(zé)鑒權(quán)和授權(quán),和keystone進(jìn)行交換。
DAL(Data Access Layer):和數(shù)據(jù)庫訪問相關(guān)。
供應(yīng)引擎(Provisioning Engine):用于和組件Nova, Heat, Cinder、Glance交換
供應(yīng)商插件:插件形式提供,用于在虛擬機(jī)上配置和啟動Hadoop服務(wù)。已有的解決方案包括:Apache的Ambari和Cloudera(Hadoop數(shù)據(jù)管理軟件與服務(wù)提供商) Management Console。
EDP(Elastic Data Processing):負(fù)責(zé)調(diào)度和管理Sahara提供的Hadoop集群上的計(jì)算任務(wù)。
REST API:提供REST使用Sahara功能。
Sahara的Python客戶端:和OpenStack其他組件的CLI一樣。
Sahara的GUI頁面:Horizon上提供Sahara相關(guān)的GUI。
本文出自:http://blog.csdn.net/canxinghen/article/details/41833027