Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Ambari python client can be used make use of Ambari APIs.

The first step is to create the Ambari client

Code Block
languagepython
titleCreate Ambari client
firstline1
linenumberstrue
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. Code Block
    languagepython
    titleShow all clusters in Ambari
    firstline1
    linenumberstrue
    all_clusters = client.get_all_clusters()
    print all_clusters.to_json_dict()
    print all_clusters
  2. Code Block
    languagepython
    titleShow all hosts in Ambari
    firstline1
    linenumberstrue
    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. Code Block
    languagepython
    titleShow a specific cluster in Ambari
    firstline1
    linenumberstrue
    cluster = client.get_cluster('test6')
    print cluster
    print cluster.to_json_dict()
    print"\n"
  2. Code Block
    languagepython
    titleShow all hosts in the cluster
    firstline1
    linenumberstrue
    clusters_hosts = cluster.get_all_hosts()
    print clusters_hosts.to_json_dict()
    print clusters_hosts
    print"\n"
  3. Code Block
    languagepython
    titleShow a specific host in the cluster
    firstline1
    linenumberstrue
    r01wn01_host = cluster.get_host('r01wn01')
    print r01wn01_host
    print r01wn01_host.clusterRef.cluster_name
    print r01wn01_host.to_json_dict()
    print"\n"
  4. Code Block
    languagepython
    titleShow all components of a host
    firstline1
    linenumberstrue
    r01wn01_host_comp = r01wn01_host.get_host_components()
    print r01wn01_host_comp
    print r01wn01_host_comp.to_json_dict()
    print"\n"
  5. Code Block
    languagepython
    titleShow a specific service of a cluster
    firstline1
    linenumberstrue
    nn = r01wn01_host.get_host_component("NAMENODE")
    print nn
    print nn.to_json_dict()
    print nn.clusterRef.cluster_name
    print"\n"
  6. Code Block
    languagepython
    titleShow all services in the cluster
    firstline1
    linenumberstrue
    serviceList = cluster.get_all_services()
    print serviceList
    print serviceList.to_json_dict()
    print"\n"
  7. Code Block
    languagepython
    titleShow a specific service of a cluster
    firstline1
    linenumberstrue
    ganglia = cluster.get_service("GANGLIA")
    print  ganglia
    print ganglia.to_json_dict()
    print"\n"
  8. Code Block
    languagepython
    titleShow all components of a service
    firstline1
    linenumberstrue
    ganglia_comps = ganglia.get_service_components()
    print ganglia_comps
    print ganglia_comps.to_json_dict()
    print"\n"
  9. Code Block
    languagepython
    titleShow a specific component of a service
    firstline1
    linenumberstrue
    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. Code Block
    languagepython
    titleStop a service
    firstline1
    linenumberstrue
    ganglia.stop()
  11. Code Block
    languagepython
    titleSatrt a service
    firstline1
    linenumberstrue
    ganglia.start()