THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
Ambari python client can be used make use of Ambari APIs.
The first step is to create the Ambari client
Create 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 Ambari
all_clusters = client.get_all_clusters() print all_clusters.to_json_dict() print all_clusters
- Show all hosts in Ambari
all_hosts = client.get_all_hosts() print all_hosts print all_hosts.to_json_dict() print"\n"
We can also get the information of a specific cluster
- Show a specific cluster in Ambari
cluster = client.get_cluster('cluster1') print cluster print cluster.to_json_dict() print"\n"
- Show all hosts in the cluster
clusters_hosts = cluster.get_all_hosts() print clusters_hosts.to_json_dict() print clusters_hosts print"\n"
- Show a specific host in the cluster
host1 = cluster.get_host('host1') print host1 print host1.clusterRef.cluster_name print host1.to_json_dict() print"\n"
- Show all components of a host
host1_comp = host1.get_host_components() print host1_comp print host1_comp.to_json_dict() print"\n"
- Show a specific service of a cluster
nn = host1.get_host_component("NAMENODE") print nn print nn.to_json_dict() print nn.clusterRef.cluster_name print"\n"
- Show all services in the cluster
serviceList = cluster.get_all_services() print serviceList print serviceList.to_json_dict() print"\n"
- Show a specific service of a cluster
ganglia = cluster.get_service("GANGLIA") print ganglia print ganglia.to_json_dict() print"\n"
- Show all components of a service
ganglia_comps = ganglia.get_service_components() print ganglia_comps print ganglia_comps.to_json_dict() print"\n"
- Show a specific component of a service
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"
- Stop a service
ganglia.stop()
- Satrt a service
ganglia.start()
Get metrics
- get cpu-metrics of service component TASKTRACKER
mr = cluster.get_service("MAPREDUCE") mr_comp1 = mr.get_service_component('TASKTRACKER') metric_json = mr_comp1.get_metrics() print metric_json["metrics"]["cpu"] print"\n"
- get cpu-metrics from a host which has component NAMENODE
host1 = cluster.get_host('host1') nn = host1.get_host_component("NAMENODE") metric_json = nn.get_metrics() print metric_json["metrics"]["cpu"] print"\n"