最近由于项目的需要在看一些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/?fields=tasks/Tasks/* 

(4)资源 
【1】资源采集 
资源采集是相同类型的资源的一个组合,而非特定资源。例如: 
/clusters,强调的是集群的采集。 
【2】资源实例 
资源实例是单个特定资源。例如: 
/clusters/c1,强调的是id为‘c1’的集群资源 
【3】类型 
以组划分的资源的类型。允许用户查询行沟通类型的资源。个别资源类型包含了子类型(例如服务是集群的子资源) 
如下是ambari资源类型的描述跟使用事例。 
[1]集群 
集群资源代表着Hadoop集群命名。集群是最高级别的资源 
集群资源 
[2]服务 
服务资源时hadoop集群的服务(例如HDFS/mapduce/ganglia).服务资源是集群的子资源

Ambari Rest api 使用的更多相关文章

  1. Ambari REST API 使用介绍 - How To: Use Swagger with Ambari (Explore Ambari REST)

    How To: Use Swagger with Ambari (Explore Ambari REST) Article Note : This feature is available from ...

  2. ambari rest api (三)

    1.获取指定主机指定组件的信息列表 http://ip:8080/api/v1/clusters/hdp_dev/hosts/hadoop003.edcs.org/host_components/DA ...

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

    1.找到你需要修改的配置的最新版本 curl -u admin:admin -H "X-Requested-By: ambari" -X GET http://AMBARI_SER ...

  4. Ambari的API调用

    GET api/v1/clusters/HDP/configurations可以获得所有的配置信息(例如,http://hdp0:8080/api/v1/clusters/HDP/configurat ...

  5. Ambari 常用的 REST API 介绍

    源码文档路径:ambari\ambari-server\docs\api\v1 swagger风格api文档:https://www.cnblogs.com/felixzh/p/10694724.ht ...

  6. ambari 维护模式及reset API 操作

    Ambari 的维护模式(Maintenance Mode)介绍 Ambari 提供的 Maintenance Mode,是为了让用户在调试或者维护 Service 的时候,抑制不必要的告警(Aler ...

  7. [实践] ubuntu下编译安装ambari

    ambari是一个Hadoop套件的管理工具,可以方便部署.管理及监控.最初开发时使用的就是RH系的Linux,只支持RHEL.CentOS5/6.OEL.SLES,暂不支持Ubuntu:可我的需求就 ...

  8. Ambari源代码分析之总览

    一.基本概念: Resource:Ambari把能够被管理的资源的抽象为一个Resource实例,资源能够包括服务.组件.主机节点等,一个resource实例中包括了一系列该资源的属性: Proper ...

  9. 深入Ambari Metrics 机制分析

    0.简介 Ambari作为一款针对大数据平台的运维管理工具,提供了集群的创建,管理,监控,升级等多项功能,目前在业界已经得到广泛使用. Ambari指标系统( Ambari Metrics Syste ...

随机推荐

  1. Windows路径操作API函数学习

    前言 在VC++开发过程中,经常需要用到一些路径操作,比如拼需要的文件路径,搜索路径中的内容等等.Windows提供了一套关于路径操作的API帮助我们更好的执行这些操作. 路径截断与合并API Pat ...

  2. PHP大小写是否敏感问题

    一.大小写敏感 1. 变量名区分大小写 所有变量均区分大小写,包括普通变量以及$_GET,$_POST,$_REQUEST,$_COOKIE,$_SESSION,$GLOBALS,$_SERVER,$ ...

  3. Apache Commons工具集简介

  4. C#的字符串优化-String.Intern、IsInterned

    https://www.jianshu.com/p/af6eb8d3d4bf 首先看一段程序: using System; class Program { static void Main(strin ...

  5. Java集合----Set集合

    Set集合 Set 集合不允许包含相同的元素,如果试把两个相同的元素加入同一个 Set 集合中,则添加操作失败. Set 判断两个对象是否相同不是使用 == 运算符,而是根据 equals 方法 Ha ...

  6. Objective-C语法之字符串NSString

    Objective-C里核心的处理字符串的类就是NSString和 NSMutableString这两个类,这两个类完成了Objective-C中字符串大部分功能的处理.这两个类的最主要的区别是NSS ...

  7. nil、Nil、NULL与NSNull的区别及应用

      总结 nil:OC中的对象的空指针 Nil:OC中类的空指针 NULL:C类型的空指针 NSNull:数值类的空对象 详细解析应用如下: 1.nil 指向一个对象的指针为空 在objc.h中的定义 ...

  8. 阿里大于短信返回XML

    返回异常和成功的两种不同,XML返回直接拿alibaba_aliqin_fc_sms_num_send_response判断节点是否有这个名字 官方API地址: https://api.alidayu ...

  9. JS-对象查找父级

    之前在寻找两个以上的父级,一直傻傻的用parent().parent()... 今天,需要写五个,当然以前也是写过五个的,但是今天总想着换个简单的方式,至少不要.parent().parent().p ...

  10. 【python系列】SyntaxError:Missing parentheses in call to 'print'

    打印python2和python3的区别 如上图所示,我的 PyCharm安装的是python3.6如果使用print 10会出现语法错误,这是python2.x和python3.x的区别所导致的.