Ambari Rest api 使用

最近因爲項目的須要在看一些Ambari的api去獲取集羣的一些信息,獲取集羣節點的狀態信息以及各個服務和組件的信息。而後在咱們的數據服務管理平臺上去作一些監控運維,如今把一些使用總結一下:
官網rest api地址: 
https://cwiki.apache.org/confluence/display/AMBARI/
ambari api使對Hadoop集羣資源的管理和監控更加便利。文檔描述了ambari api的資源和語法,以方便於加入ambari的開發者。 
(1)認證和受權 
您執行的關於ambari api須要認證。接近api須要基礎認證。爲了使用基礎認證,您須要發送帶有「Authorization:base」頭部的請求。例如,當使用curl命令時能夠如此發送: 
node

curl –user name:password http://{your.ambari.server}/api/v1/clusters 

注意:認證方法和資源配置是在ambari server端。修改或是配置認證的方法並無包含在本文檔中。 
(2)監控 
ambari apid提供了監控和管理hadoop集羣的資源的指標信息。 
【1】get 
經過get方法能夠讀取到amabari資源的屬性、指標和下屬資源的等信息。調用Get方法返回請求資源並不產生反作用。返回值200表示請求已成功返回幷包含了響應內容 
例如:獲取集羣「c1」的HDFS服務的組件datanode的信息: 
apache

GET /clusters/c1/services/HDFS/components/DATANODE 

(3)管理 
amabri api包含了對hadoop集羣資源的管理。包括建立、刪除和資源升級。 
【1】post 
經過post方法能夠建立一個新資源。若是新資源被建立則返回值是201.返回值202表示請求已被服務器接受。 
例如:建立hdfs服務 
api

POST /clusters/c1/services/HDFS

【2】put 
使用put方法能夠用來更新資源。若是存在的資源被修改了,則返回值200表示請求已成功完成。請求值202也表示服務器接受了請求。 
例如:啓動HDFS服務(更新hdfs的狀態爲‘started’) 
服務器

PUT /clusters/c1/services/HDFS/ 

【3】delete 
使用delete方法來刪除一個資源。若是存在的集羣被刪除掉則返回值200表示請求成功完成。返回值202也表示服務器接受了該指令而且該資源被標記爲刪除。 
例如:刪除集羣名稱是「c1」的集羣: 
運維

DELETE /clusters/c1 

異步響應 
管理api會返回標誌着請求被接受的返回值202.該響應包含請求ID和攜帶請求命令的href。 
響應中href能夠用於查詢與請求相關的資源和監控請求的進程。請求資源包含一到多個子任務資源。以下例子展現瞭如何使用部分響應去查詢請求資源。 
curl

/clusters/c1/requests/6?fields=tasks/Tasks/* 

(4)資源 
【1】資源採集 
資源採集是相同類型的資源的一個組合,而非特定資源。例如: 
/clusters,強調的是集羣的採集。 
【2】資源實例 
資源實例是單個特定資源。例如: 
/clusters/c1,強調的是id爲‘c1’的集羣資源 
【3】類型 
以組劃分的資源的類型。容許用戶查詢行溝通類型的資源。個別資源類型包含了子類型(例如服務是集羣的子資源) 
以下是ambari資源類型的描述跟使用事例。 
[1]集羣 
集羣資源表明着Hadoop集羣命名。集羣是最高級別的資源 
集羣資源 
[2]服務 
服務資源時hadoop集羣的服務(例如HDFS/mapduce/ganglia).服務資源是集羣的子資源
異步

相關文章
相關標籤/搜索