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命令時可以如此發送: 

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的信息: 

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

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

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可以用於查詢與請求相關的資源和監控請求的進程。請求資源包含一到多個子任務資源。如下例子展示了如何使用部分響應去查詢請求資源。 

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

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM