Amabri python client can be used make use of Ambari APIs.
The first step is to get the Ambari client
from ambari_client.ambari_api import AmbariClient client = AmbariClient("localhost", 8080, "admin", "admin", version=1) print client.version print client.host_url print"\n"
Some useful methods
- Show all clusters in Amabri
all_clusters = client.get_all_clusters() print all_clusters.to_json_dict() print all_clusters
- Show all hosts in Amabri
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"
ganglia_comp1 = ganglia.get_service_component('GANGLIA_MONITOR')
print ganglia_comp1
print ganglia_comp1.to_json_dict()
print ganglia_comp1.clusterRef.cluster_name
print"\n"