WARNING: The client library is still in the works and not production ready.
Ambari Amabri python client can be used make use of Ambari APIs.
The first step is to get create the Ambari client
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
from ambari_client.ambari_api import AmbariClient headers_dict={'X-Requested-By':'mycompany'} #Ambari needs X-Requested-By header client = AmbariClient("localhost", 8080, "admin", "admin", version=1,http_header=headers_dict) print client.version print client.host_url print"\n" |
Some useful methods
Code Block language python title Show all clusters in AmabriAmbari firstline 1 linenumbers true all_clusters = client.get_all_clusters() print all_clusters.to_json_dict() print all_clusters
Code Block language python title Show all hosts in AmabriAmbari firstline 1 linenumbers true all_hosts = client.get_all_hosts() print all_hosts print all_hosts.to_json_dict() print"\n"
######################################
- going into a specific cluster
######################################
cluster = client.get_cluster('test6')
print cluster
print cluster.to_json_dict()
print"\n"
clusters_hosts = cluster.get_all_hosts()
print clusters_hosts.to_json_dict()
print clusters_hosts
print"\n"
r01wn01_host = cluster.get_host('r01wn01')
print r01wn01_host
print r01wn01_host.clusterRef.cluster_name
print r01wn01_host.to_json_dict()
print"\n"
r01wn01_host_comp = r01wn01_host.get_host_components()
print r01wn01_host_comp
print r01wn01_host_comp.to_json_dict()
print"\n"
nn = r01wn01_host.get_host_component("NAMENODE")
print nn
print nn.to_json_dict()
print nn.clusterRef.cluster_name
print"\n"
serviceList = cluster.get_all_services()
print serviceList
print serviceList.to_json_dict()
print"\n"
ganglia = cluster.get_service("GANGLIA")
print ganglia
print ganglia.to_json_dict()
print"\n"
ganglia_comps = ganglia.get_service_components()
print ganglia_comps
print ganglia_comps.to_json_dict()
print"\n"
...
print"\n"