Ambari Rest api 使用

Posted 大葱拌豆腐

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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).服务资源是集群的子资源









































以上是关于Ambari Rest api 使用的主要内容,如果未能解决你的问题,请参考以下文章

ambari rest api (修改集群配置文件)

ambari rest api

400错误代码,当使用RestTemplate进行Rest API时。

Django REST框架--认证和权限

Hyperledger Composer REST API调用在概念中的某些变量上失败

我可以使用现有的SOAP API会话验证Salesforce REST API吗?