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/?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 使用介绍 - 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 ...
- ambari rest api (三)
1.获取指定主机指定组件的信息列表 http://ip:8080/api/v1/clusters/hdp_dev/hosts/hadoop003.edcs.org/host_components/DA ...
- ambari rest api (修改集群配置文件)
1.找到你需要修改的配置的最新版本 curl -u admin:admin -H "X-Requested-By: ambari" -X GET http://AMBARI_SER ...
- Ambari的API调用
GET api/v1/clusters/HDP/configurations可以获得所有的配置信息(例如,http://hdp0:8080/api/v1/clusters/HDP/configurat ...
- Ambari 常用的 REST API 介绍
源码文档路径:ambari\ambari-server\docs\api\v1 swagger风格api文档:https://www.cnblogs.com/felixzh/p/10694724.ht ...
- ambari 维护模式及reset API 操作
Ambari 的维护模式(Maintenance Mode)介绍 Ambari 提供的 Maintenance Mode,是为了让用户在调试或者维护 Service 的时候,抑制不必要的告警(Aler ...
- [实践] ubuntu下编译安装ambari
ambari是一个Hadoop套件的管理工具,可以方便部署.管理及监控.最初开发时使用的就是RH系的Linux,只支持RHEL.CentOS5/6.OEL.SLES,暂不支持Ubuntu:可我的需求就 ...
- Ambari源代码分析之总览
一.基本概念: Resource:Ambari把能够被管理的资源的抽象为一个Resource实例,资源能够包括服务.组件.主机节点等,一个resource实例中包括了一系列该资源的属性: Proper ...
- 深入Ambari Metrics 机制分析
0.简介 Ambari作为一款针对大数据平台的运维管理工具,提供了集群的创建,管理,监控,升级等多项功能,目前在业界已经得到广泛使用. Ambari指标系统( Ambari Metrics Syste ...
随机推荐
- Windows路径操作API函数学习
前言 在VC++开发过程中,经常需要用到一些路径操作,比如拼需要的文件路径,搜索路径中的内容等等.Windows提供了一套关于路径操作的API帮助我们更好的执行这些操作. 路径截断与合并API Pat ...
- PHP大小写是否敏感问题
一.大小写敏感 1. 变量名区分大小写 所有变量均区分大小写,包括普通变量以及$_GET,$_POST,$_REQUEST,$_COOKIE,$_SESSION,$GLOBALS,$_SERVER,$ ...
- Apache Commons工具集简介
- C#的字符串优化-String.Intern、IsInterned
https://www.jianshu.com/p/af6eb8d3d4bf 首先看一段程序: using System; class Program { static void Main(strin ...
- Java集合----Set集合
Set集合 Set 集合不允许包含相同的元素,如果试把两个相同的元素加入同一个 Set 集合中,则添加操作失败. Set 判断两个对象是否相同不是使用 == 运算符,而是根据 equals 方法 Ha ...
- Objective-C语法之字符串NSString
Objective-C里核心的处理字符串的类就是NSString和 NSMutableString这两个类,这两个类完成了Objective-C中字符串大部分功能的处理.这两个类的最主要的区别是NSS ...
- nil、Nil、NULL与NSNull的区别及应用
总结 nil:OC中的对象的空指针 Nil:OC中类的空指针 NULL:C类型的空指针 NSNull:数值类的空对象 详细解析应用如下: 1.nil 指向一个对象的指针为空 在objc.h中的定义 ...
- 阿里大于短信返回XML
返回异常和成功的两种不同,XML返回直接拿alibaba_aliqin_fc_sms_num_send_response判断节点是否有这个名字 官方API地址: https://api.alidayu ...
- JS-对象查找父级
之前在寻找两个以上的父级,一直傻傻的用parent().parent()... 今天,需要写五个,当然以前也是写过五个的,但是今天总想着换个简单的方式,至少不要.parent().parent().p ...
- 【python系列】SyntaxError:Missing parentheses in call to 'print'
打印python2和python3的区别 如上图所示,我的 PyCharm安装的是python3.6如果使用print 10会出现语法错误,这是python2.x和python3.x的区别所导致的.