You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 12 Next »

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

  1. Show all clusters in Ambari
    all_clusters = client.get_all_clusters()
    print all_clusters.to_json_dict()
    print all_clusters
  2. 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

  1. Show a specific cluster in Ambari
    cluster = client.get_cluster('cluster1')
    print cluster
    print cluster.to_json_dict()
    print"\n"
  2. Show all hosts in the cluster
    clusters_hosts = cluster.get_all_hosts()
    print clusters_hosts.to_json_dict()
    print clusters_hosts
    print"\n"
  3. 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"
  4. Show all components of a host
    host1_comp = host1.get_host_components()
    print host1_comp
    print host1_comp.to_json_dict()
    print"\n"
  5. 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"
  6. Show all services in the cluster
    serviceList = cluster.get_all_services()
    print serviceList
    print serviceList.to_json_dict()
    print"\n"
  7. Show a specific service of a cluster
    ganglia = cluster.get_service("GANGLIA")
    print  ganglia
    print ganglia.to_json_dict()
    print"\n"
  8. Show all components of a service
    ganglia_comps = ganglia.get_service_components()
    print ganglia_comps
    print ganglia_comps.to_json_dict()
    print"\n"
  9. 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"
  10. Stop a service
    ganglia.stop()
  11. Satrt a service
    ganglia.start()

Get metrics

  1. 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"
  2. 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"
  • No labels