【问题标题】:ambari cluster + get status of component/services by tool / python scriptambari集群+通过工具/python脚本获取组件/服务的状态
【发布时间】:2018-02-04 16:32:02
【问题描述】:

我们的 Hadoop 机器很少,我们在 bash 脚本中使用 API 从 Ambari API 获取 Hadoop 集群中的组件或服务的状态

我在谷歌搜索但没有帮助,

但我几乎可以肯定,某个地方已经存在一个工具或 python 脚本,可以捕获集群中的组件状态或服务状态,也许还有一些其他有用的选项,

如果能获得有关此工具/脚本的帮助,我将不胜感激

示例:

我们的任务之一是获取集群中所有组件/服务的状态(不希望为每个组件使用每个单独的 API,我们更喜欢使用一个 API 来显示集群中所有组件的状态)

【问题讨论】:

  • 必须是多个请求。所有服务。服务的所有组件...这就是 API 的编写方式github.com/apache/ambari/blob/trunk/ambari-server/docs/api/v1/…
  • 在这种情况下-您知道可以轻松完成工作的工具/脚本吗? , 我的意思是包含所有 API 组合以提供请求结果的工具
  • 索取工具和场外资源对 Stackoverflow 来说不是主题,抱歉。 github上有大量名为“Ambari shell”的工具

标签: python hadoop ambari


【解决方案1】:

您可以使用以下 API 调用获取状态 - 已启动/已停止

服务

curl -u {ambari-username}:{ambari-password} -H "X-Requested-By: ambari" -X GET http://{ambari-host}:{ambari-port}/api/v1/clusters/{clustername}/services/{service-name}?fields=Serv...

对于组件

curl -u {ambari-username}:{ambari-password} -H "X-Requested-By: ambari" -X GET http://{ambari-host}:{ambari-port}/api/v1/clusters/{clustername}/components/{component-name}?fields=...

获取有关服务的完整状态信息

curl -u {ambari-username}:{ambari-password} -H "X-Requested-By: ambari" -X GET http://{ambari-host}:{ambari-port}/api/v1/clusters/{clustername}/services/{service-name}

获取组件的完整状态信息

curl -u {ambari-username}:{ambari-password} -H "X-Requested-By: ambari" -X GET http://{ambari-host}:{ambari-port}/api/v1/clusters/{clustername}/components/{component-name}

将 {ambari-username} 、 {ambari-password} 、 {ambari-host} 、 {ambari-port} 、{clustername} 等占位符替换为您各自的值

参考:https://community.cloudera.com/t5/Support-Questions/how-to-capture-all-ambari-services-components-status-by-API/m-p/179704/highlight/true#M141950

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-08-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多