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