HostsResource Resource

DELETE /hosts

Delete all hosts in the system

Response Body
media type data type description
application/json ApiHostList (JSON) The list of deleted hosts

GET /hosts

Returns the hostIds for all hosts in the system.

Request Parameters
name type description default
view query The view to materialize summary
Response Body
media type data type description
application/json ApiHostList (JSON) A list of hostIds

POST /hosts

Create one or more hosts.

You must specify at least the hostname and ipAddress in the request objects. If no hostId is specified, it will be set to the hostname. It is an error to try and create host with the same hostId as another host.

Request Body
media type data type description
application/json ApiHostList (JSON) The list of hosts to create
Response Body
media type data type description
application/json ApiHostList (JSON) The newly created host objects

DELETE /hosts/{hostId}

Delete a host from the system

Request Parameters
name type description default
hostId path The ID of the host to remove n/a
Response Body
media type data type description
application/json ApiHost (JSON) The deleted Host

GET /hosts/{hostId}

Returns a specific Host in the system

Request Parameters
name type description default
hostId path The ID of the host to read n/a
Response Body
media type data type description
application/json ApiHost (JSON) The Host object with the specified hostId

GET /hosts/{hostId}

Returns a specific Host in the system.

Request Parameters
name type description default
hostId path The ID of the host to read. n/a
view query The view to materialize. Defaults to 'full'. full
Response Body
media type data type description
application/json ApiHost (JSON) The Host object with the specified hostId.

PUT /hosts/{hostId}

Update an existing host in the system.

Currently, only updating the rackId is supported. All other fields of the host will be ignored.

Request Parameters
name type description default
hostId path The hostId to update n/a
Request Body
media type data type description
application/json ApiHost (JSON) The updated host object.
Response Body
media type data type description
application/json ApiHost (JSON) The updated host

GET /hosts/{hostId}/config

Retrieves the configuration of a specific host.

Request Parameters
name type description default
hostId path The ID of the host. n/a
view query The view of the data to materialize, either "summary" or "full". summary
Response Body
media type data type description
application/json ApiConfigList (JSON) List of host configuration parameters.

PUT /hosts/{hostId}/config

Updates the host configuration with the given values.

If a value is set in the given configuration, it will be added to the host's configuration, replacing any existing entries. If a value is unset (its value is null), the existing configuration for the attribute will be erased, if any.

Attributes that are not listed in the input will maintain their current values in the configuration.

Request Parameters
name type description default
hostId path The ID of the host. n/a
message query Optional message describing the changes. n/a
Request Body
media type data type description
application/json ApiConfigList (JSON) Configuration changes.
Response Body
media type data type description
application/json ApiConfigList (JSON) The new host configuration.

GET /hosts/{hostId}/metrics

This method has been deprecated. This endpoint is not supported as of v6. Use the timeseries API instead. To get all metrics for a host with the timeseries API use the query:

'select * where hostId = $HOST_ID'.

To get specific metrics for a host use a comma-separated list of the metric names as follows:

'select $METRIC_NAME1, $METRIC_NAME2 where hostId = $HOST_ID'.

For more information see the tsquery language documentation.

Fetch metric readings for a host.

By default, this call will look up all metrics available for the host. If only specific metrics are desired, use the metrics parameter.

By default, the returned results correspond to a 5 minute window based on the provided end time (which defaults to the current server time). The from and to parameters can be used to control the window being queried. A maximum window of 3 hours is enforced.

When requesting a "full" view, aside from the extended properties of the returned metric data, the collection will also contain information about all metrics available for the role, even if no readings are available in the requested window.

Host metrics also include per-network interface and per-storage device metrics. Since collecting this data incurs in more overhead, query parameters can be used to choose which network interfaces and storage devices to query, or to these metrics altogether.

Storage metrics are collected at different levels; for example, per-disk and per-partition metrics are available. The "storageIds" parameter can be used to filter specific storage IDs.

In the returned data, the network interfaces and storage IDs can be identified by looking at the "context" property of the metric objects.

Request Parameters
name type description default
hostId path The host's ID. n/a
from query Start of the period to query. n/a
ifs query Network interfaces to query for metrics (default = all). n/a
metrics query Filter for which metrics to query. n/a
queryNw query Whether to query for network interface metrics. true
queryStorage query Whether to query for storage metrics. true
storageIds query Storage context IDs to query for metrics (default = all). n/a
to query End of the period to query. now
view query The view of the data to materialize, either "summary" or "full". summary
Response Body
media type data type description
application/json ApiMetricList (JSON) List of readings from the monitors.

POST /hosts/{hostId}/commands/enterMaintenanceMode

Put the host into maintenance mode. This is a synchronous command. The result is known immediately upon return.

Available since API v2.

Request Parameters
name type description default
hostId path The ID of the host n/a
Response Body
media type data type description
application/json ApiCommand (JSON) Synchronous command result.

POST /hosts/{hostId}/commands/exitMaintenanceMode

Take the host out of maintenance mode. This is a synchronous command. The result is known immediately upon return.

Available since API v2.

Request Parameters
name type description default
hostId path The ID of the host n/a
Response Body
media type data type description
application/json ApiCommand (JSON) Synchronous command result.

POST /hosts/{hostId}/commands/generateHostCerts

Generates (or regenerates) a key and certificate for this host if Auto-TLS is enabled.

Request Parameters
name type description default
hostId path The ID of the host to generate a certificate for. n/a
Request Body
media type data type
application/json ApiGenerateHostCertsArguments (JSON)
Response Body
media type data type
application/json ApiCommand (JSON)

POST /hosts/{hostId}/commands/migrateRoles

Migrate roles to a different host.

This command applies only to HDFS NameNode, JournalNode, and Failover Controller roles. In order to migrate these roles:

  • HDFS High Availability must be enabled, using quorum-based storage.
  • HDFS must not be configured to use a federated nameservice.
Migrating a NameNode or JournalNode role requires cluster downtime. HDFS, along with all of its dependent services, will be stopped at the beginning of the migration process, and restarted at its conclusion.

If the active NameNode is selected for migration, a manual failover will be performed before the role is migrated. The role will remain in standby mode after the migration is complete.

When migrating a NameNode role, the co-located Failover Controller role must be migrated as well if automatic failover is enabled. The Failover Controller role name must be included in the list of role names to migrate specified in the arguments to this command (it will not be included implicitly). This command does not allow a Failover Controller role to be moved by itself, although it is possible to move a JournalNode independently.

Available since API v10.

Request Parameters
name type description default
hostId path The ID of the host on which the roles to migrate currently reside n/a
Request Body
media type data type description
application/json ApiMigrateRolesArguments (JSON) Arguments for the command.
Response Body
media type data type description
application/json ApiCommand (JSON) Information about the submitted command.