To restart host components on a given host, you can issue a request to execute the RESTART command for a list of components in the Requests/resource_filters object.

POST http://c6401.ambari.apache.org:8080/api/v1/clusters/MyCluster/requests

{
  "RequestInfo":{
      "command":"RESTART",
      "context":"Restart all components on c6401.ambari.apache.org",
      "operation_level":{"level":"HOST","cluster_name":"MyCluster"}
    },
    "Requests/resource_filters":[
      {"service_name":"YARN","component_name":"APP_TIMELINE_SERVER","hosts":"c6401.ambari.apache.org"},
      {"service_name":"HDFS","component_name":"DATANODE","hosts":"c6401.ambari.apache.org"},
      {"service_name":"HIVE","component_name":"HCAT","hosts":"c6401.ambari.apache.org"},
      {"service_name":"HDFS","component_name":"HDFS_CLIENT","hosts":"c6401.ambari.apache.org"},
      {"service_name":"MAPREDUCE2","component_name":"HISTORYSERVER","hosts":"c6401.ambari.apache.org"},
      {"service_name":"HIVE","component_name":"HIVE_CLIENT","hosts":"c6401.ambari.apache.org"},
      {"service_name":"HIVE","component_name":"HIVE_METASTORE","hosts":"c6401.ambari.apache.org"},
      {"service_name":"HIVE","component_name":"HIVE_SERVER","hosts":"c6401.ambari.apache.org"},
      {"service_name":"MAPREDUCE2","component_name":"MAPREDUCE2_CLIENT","hosts":"c6401.ambari.apache.org"},
      {"service_name":"AMBARI_METRICS","component_name":"METRICS_COLLECTOR","hosts":"c6401.ambari.apache.org"},
      {"service_name":"AMBARI_METRICS","component_name":"METRICS_MONITOR","hosts":"c6401.ambari.apache.org"},
      {"service_name":"HIVE","component_name":"MYSQL_SERVER","hosts":"c6401.ambari.apache.org"},
      {"service_name":"HDFS","component_name":"NAMENODE","hosts":"c6401.ambari.apache.org"},
      {"service_name":"YARN","component_name":"NODEMANAGER","hosts":"c6401.ambari.apache.org"},
      {"service_name":"PIG","component_name":"PIG","hosts":"c6401.ambari.apache.org"},
      {"service_name":"YARN","component_name":"RESOURCEMANAGER","hosts":"c6401.ambari.apache.org"},
      {"service_name":"HDFS","component_name":"SECONDARY_NAMENODE","hosts":"c6401.ambari.apache.org"},
      {"service_name":"TEZ","component_name":"TEZ_CLIENT","hosts":"c6401.ambari.apache.org"},
      {"service_name":"HIVE","component_name":"WEBHCAT_SERVER","hosts":"c6401.ambari.apache.org"},
      {"service_name":"YARN","component_name":"YARN_CLIENT","hosts":"c6401.ambari.apache.org"},
      {"service_name":"ZOOKEEPER","component_name":"ZOOKEEPER_CLIENT","hosts":"c6401.ambari.apache.org"},
      {"service_name":"ZOOKEEPER","component_name":"ZOOKEEPER_SERVER","hosts":"c6401.ambari.apache.org"}
    ]
}

 

To build the list of host components to use in this command, you can first get a list of components on a given host:

GET http://c6401.ambari.apache.org:8080/api/v1/clusters/MyCluster/hosts/c6401.ambari.apache.org/host_components?fields=HostRoles/service_name

 

This will return a list of host component objects. You can use the HostRoles/component_name, HostRoles/host_name and HostRoles/service_name in your RESTART command.

    {
      "href" : "http://c6401.ambari.apache.org:8080/api/v1/clusters/MyCluster/hosts/c6401.ambari.apache.org/host_components/APP_TIMELINE_SERVER",
      "HostRoles" : {
        "cluster_name" : "MyCluster",
        "component_name" : "APP_TIMELINE_SERVER",
        "host_name" : "c6401.ambari.apache.org",
        "service_name" : "YARN"
      },
      "host" : {
        "href" : "http://c6401.ambari.apache.org:8080/api/v1/clusters/MyCluster/hosts/c6401.ambari.apache.org"
      }
    },
    {
      "href" : "http://c6401.ambari.apache.org:8080/api/v1/clusters/MyCluster/hosts/c6401.ambari.apache.org/host_components/DATANODE",
      "HostRoles" : {
        "cluster_name" : "MyCluster",
        "component_name" : "DATANODE",
        "host_name" : "c6401.ambari.apache.org",
        "service_name" : "HDFS"
      },
      "host" : {
        "href" : "http://c6401.ambari.apache.org:8080/api/v1/clusters/MyCluster/hosts/c6401.ambari.apache.org"
      }
    },
  • No labels