我们很少有Hadoop机器,我们在bash脚本中使用API从Ambari API获取Hadoop集群中组件或服务的状态
我在谷歌上搜索,但没有帮助,
但我几乎可以肯定,某处已经存在一个工具或 python 脚本 ,可以捕获集群中的组件状态或服务状态,也许还有其他一些有用的选项,
我将不胜感激获得有关此工具/脚本的帮助
例:
我们的任务之一是获取集群中所有组件/服务的状态(不希望对每个组件使用每个单独的 API,我们更喜欢一个 API 来显示集群中所有组件的状态(
您可以使用以下 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