{ "basePath": "/cloudera-manager-api", "host": "localhost:8080", "paths": { "/api/v11/audits": { "get": { "description": "Fetch audit events from Cloudera Manager (CM) and CM managed services\nlike HDFS, HBase, Impala, Hive, and Sentry.\n

\nBy default, this call will fetch the first 100 audit events (sorted from most\nrecent to oldest) corresponding to a 1 day window based on provided end time\n(which defaults to the current CM server time). The startTime and\nendTime parameters can be used to control the window being queried.\n

\nAudit events for CM managed services are only retrieved if Cloudera\nNavigator server is running.", "parameters": [ { "description": "Maximum number of audits to return", "in": "query", "name": "maxResults", "required": false, "type": "string" }, { "description": "Offset of audits to return", "in": "query", "name": "resultOffset", "required": false, "type": "string" }, { "description": "Start of the period to query in ISO 8601 format (defaults\nto 1 day ago relative to endTime).", "in": "query", "name": "startTime", "required": false, "type": "string" }, { "description": "End of the period to query in ISO 8601 format (defaults to\ncurrent time).", "in": "query", "name": "endTime", "required": false, "type": "string" }, { "description": "The query to filter out audits in the system. It accepts\nquerying the intersection of a list of constraints,\njoined together with semicolons (without spaces). For example:\n

\n
\n
command==listStatus
\n
looks for audits with listStatus command.
\n
command==listStatus;username!=foo
\n
looks for audits with listStatus command but excludes\naudits generated by foo username
\n
command==listStatus;source==*oozie*
\n
looks for audits with listStatus command and source that\ncontains the string 'oozie'.\n
\n
\n\nFollowing are valid selectors for the query (if applicable to the\naudit):\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
Selector Description SCM HDFS HBase Hive Impala Sentry
service Cloudera Manager Service x x x x x x
operation Operation name x x x x x x
username User name x x x x x x
impersonator Impersonator x x x x x
ip_address IP Address x x x x x x
allowed Whether the request was allowed or denied x x x x x x
qualifier Column qualifier x
source Source resource of the operation x x x x x
destination Destination resource of the operation x x x x
hostIpAddress Host IP Address x
role Cloudera Manager Role x
family Column family x
database_name Database name x x x
table_name Table name x x x x
object_type Type of object being handled x x x
operation_text Command/query text x x x
\n

\nThe only supported operator is \";\" (Boolean AND). Boolean OR is\nnot supported.\n

\nThe supported comparators are == and !=\nNote that \"LIKE\" comparison is supported using the wild card syntax,\nfor example foo==*value*. Asterisk is interpreted as a wild\ncard character and must not be part of the value. (LIKE comparison\nqueries are converted to standard SQL LIKE syntax, so any % (%25)\ncharacter in a value that also contains a wild card will be\ninterpreted as a wild card.)\n

\nAvailable since API v8. A subset of these features is available since v4.", "in": "query", "name": "query", "required": false, "type": "string" } ], "responses": { "200": { "description": "Successful Response" } } }, "parameters": [] }, "/api/v11/audits/stream": { "get": { "parameters": [ { "in": "query", "name": "maxResults", "required": false, "type": "string" }, { "in": "query", "name": "resultOffset", "required": false, "type": "string" }, { "in": "query", "name": "startTime", "required": false, "type": "string" }, { "in": "query", "name": "endTime", "required": false, "type": "string" }, { "in": "query", "name": "query", "required": false, "type": "string" } ], "responses": { "200": { "description": "Successful Response" } } }, "parameters": [] }, "/api/v11/batch": { "parameters": [], "post": { "description": "Executes a batch of API requests in one database transaction. If any\nrequest fails, execution halts and the transaction is rolled back.", "parameters": [], "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters": { "get": { "description": "Lists all known clusters.", "parameters": [ { "in": "query", "name": "view", "required": false, "type": "string" } ], "responses": { "200": { "description": "Successful Response" } } }, "parameters": [], "post": { "description": "Creates a collection of clusters.", "parameters": [], "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}": { "delete": { "description": "Deletes a cluster.", "responses": { "200": { "description": "Successful Response" } } }, "get": { "description": "Reads information about a cluster.", "responses": { "200": { "description": "Successful Response" } } }, "parameters": [ { "description": "The name of the cluster.", "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "put": { "description": "Update an existing cluster.\n

\nTo update the CDH version, provide the new value in the \"fullVersion\"\nproperty. Setting a correct version that matches the actual installed software\nwill ensure the correct version-specific features, such as services, roles,\ncommands, and configurations. This need not be manually set for clusters\nusing parcels. In general this action is only necessary after the CDH\npackages have been manually updated. Note that a downgrade may be rejected\nif it would render existing services or roles unusable. For major upgrade,\nthe \"upgradeService\" cluster command should be used instead.

\n

\nTo rename the cluster, provide the new name in the \"displayName\"\nproperty for API >= 6, or in the \"name\" property for API <=5.\n

\nAvailable since API v2.", "parameters": [], "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/autoAssignRoles": { "parameters": [ { "description": "The name of the cluster.", "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "put": { "description": "Automatically assign roles to hosts and create the roles for all the services in a cluster.\n

\nAssignments are done based on services and hosts in the cluster, and hardware specifications.\nIf no hosts are added to the cluster, an exception will be thrown preventing any\nrole assignments.\nExisting roles will be taken into account and their assignments will be\nnot be modified.\n

\nAvailable since API v6.", "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/autoConfigure": { "parameters": [ { "description": "The name of the cluster.", "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "put": { "description": "Automatically configures roles and services in a cluster.\n

\nOverwrites some existing configurations. Might create new role config groups.\nOnly default role config groups must exist before calling this endpoint.\nOther role config groups must not exist. If they do, an exception will be thrown\npreventing any configuration.\nIgnores the Cloudera Management Service even if colocated with roles of this\ncluster. To avoid over-committing the heap on hosts, assign hosts to this cluster\nthat are not being used by the Cloudera Management Service.\n

\nAvailable since API v6.", "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/clientConfig": { "get": { "description": "Download a zip-compressed archive of the client configuration, of a\nspecific cluster. Currently, this only includes Kerberos Client\nConfiguration (krb5.conf). For client configuration of services, use the\nclientConfig endpoint of the services resource. This resource does not\nrequire any authentication.", "responses": { "200": { "description": "Successful Response" } } }, "parameters": [ { "description": "The cluster name.", "in": "path", "name": "clusterName", "required": true, "type": "string" } ] }, "/api/v11/clusters/{clusterName}/commands": { "get": { "description": "List active cluster commands.", "parameters": [ { "description": "The view of the data to materialize,\neither \"summary\" or \"full\".", "in": "query", "name": "view", "required": false, "type": "string" } ], "responses": { "200": { "description": "Successful Response" } } }, "parameters": [ { "description": "The name of the cluster.", "in": "path", "name": "clusterName", "required": true, "type": "string" } ] }, "/api/v11/clusters/{clusterName}/commands/configureForKerberos": { "parameters": [ { "description": "The name of the cluster.", "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Command to configure the cluster to use Kerberos for authentication.\n\nThis command will configure all relevant services on a cluster for\nKerberos usage. This command will trigger a GenerateCredentials command\nto create Kerberos keytabs for all roles in the cluster.", "parameters": [], "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/commands/deployClientConfig": { "parameters": [ { "description": "The name of the cluster", "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Deploy the cluster-wide client configuration.\n\n

For each service in the cluster, deploy the service's client configuration\nto all the hosts that the service runs on.

\n\n

Available since API v2.

", "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/commands/deployClusterClientConfig": { "parameters": [ { "description": "The name of the cluster", "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Deploy the Cluster's Kerberos client configuration.\n\n

\nDeploy krb5.conf to hosts in a cluster. Does not deploy to decommissioned\nhosts or hosts with active processes.\n

\n\n

\nAvailable since API v7.\n

", "parameters": [], "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/commands/enterMaintenanceMode": { "parameters": [ { "description": "The name of the cluster", "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Put the cluster into maintenance mode. This is a synchronous command.\nThe result is known immediately upon return.\n\n

Available since API v2.

", "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/commands/exitMaintenanceMode": { "parameters": [ { "description": "The name of the cluster", "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Take the cluster out of maintenance mode. This is a synchronous command.\nThe result is known immediately upon return.\n\n

Available since API v2.

", "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/commands/firstRun": { "parameters": [ { "description": "The name of the cluster.", "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Prepare and start services in a cluster.\n\n

\nPerform all the steps needed to prepare each service in a cluster and start the services\nin order.\n

\n\n

\nAvailable since API v7.\n

", "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/commands/inspectHosts": { "parameters": [ { "description": "The name of the cluster", "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Runs the host inspector on the configured hosts in the specified cluster.\n\nAvailable since V8.", "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/commands/poolsRefresh": { "parameters": [ { "description": "The name of the cluster", "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Updates all refreshable configuration files for services with\nDynamic Resource Pools.\n

\nAvailable since API v6.", "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/commands/refresh": { "parameters": [ { "description": "The name of the cluster", "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Updates all refreshable configuration files in the cluster. Will not\nrestart any roles.\n

\nAvailable since API v6.", "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/commands/restart": { "parameters": [ { "description": "The name of the cluster.", "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Restart all services in the cluster.\n

\nServices are restarted in the appropriate order given their dependencies.", "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/commands/rollingRestart": { "parameters": [ { "description": "The name of the cluster.", "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Command to do a \"best-effort\" rolling restart of the given cluster,\ni.e. it does plain restart of services that cannot be rolling restarted,\nfollowed by first rolling restarting non-slaves and then rolling restarting\nthe slave roles of services that can be rolling restarted. The slave restarts\nare done host-by-host.\n

\nAvailable since API v4. Only available with Cloudera Manager Enterprise\nEdition.", "parameters": [], "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/commands/rollingUpgrade": { "parameters": [ { "description": "The name of the cluster.", "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Command to do a rolling upgrade of specific services in the given cluster\n\nThis command does not handle any services that don't support rolling\nupgrades. The command will throw an error and not start if upgrade of any\nsuch service is requested.\n\nThis command does not upgrade the full CDH Cluster. You should normally\nuse the upgradeCDH Command for upgrading the cluster. This is primarily\nhelpful if you need to need to recover from an upgrade failure or for\nadvanced users to script an alternative to the upgradeCdhCommand.\n\nThis command expects the binaries to be available on hosts and activated.\nIt does not change any binaries on the hosts.", "parameters": [], "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/commands/start": { "parameters": [ { "description": "The name of the cluster.", "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Start all services in the cluster.\n

\nServices are started in the appropriate order given their dependencies.", "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/commands/stop": { "parameters": [ { "description": "The name of the cluster.", "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Stop all services in the cluster.\n

\nServices are stopped in the appropriate order given their dependencies.", "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/commands/upgradeCdh": { "parameters": [ { "description": "The name of the cluster.", "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Perform CDH upgrade to the specified version.\n

\nAllows the following upgrades:\n

\n

\nIf using packages, CDH packages on all hosts of the cluster must be\nmanually upgraded before this command is issued.\n

\nThe command will upgrade the services and their configuration to the\nversion available in the CDH5 distribution.\n

\nUnless rolling upgrade options are provided, the entire cluster will\nexperience downtime. If rolling upgrade options are provided, command will\ndo a \"best-effort\" rolling upgrade of the given cluster, i.e. it does\nplain upgrade of services that cannot be rolling upgraded, followed by\nfirst rolling upgrading non-slaves and then rolling restarting the slave\nroles of services that can be rolling restarted. The slave restarts are\ndone host-by-host.\n

\nAvailable since v9. Rolling upgrade is only available with Cloudera\nManager Enterprise Edition. A more limited upgrade variant available since\nv6.", "parameters": [], "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/commands/upgradeServices": { "parameters": [ { "description": "The name of the cluster.", "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Upgrades the services in the cluster to the CDH5 version.\n

\nThis command requires that the CDH packages in the hosts used by the\ncluster be upgraded to CDH5 before this command is issued. Once issued,\nthis command will stop all running services before proceeding.\n

\nIf parcels are used instead of CDH system packages then the following\nsteps need to happen in order:\n

    \n
  1. Stop all services manually
  2. \n
  3. Activate parcel
  4. \n
  5. Run this upgrade command
  6. \n
\nThe command will upgrade the services and their configuration to the\nversion available in the CDH5 distribution.", "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/hostTemplates": { "get": { "description": "Lists all host templates in a cluster.\n

\nAvailable since API v3.", "responses": { "200": { "description": "Successful Response" } } }, "parameters": [ { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Creates new host templates.\n

\nHost template names must be unique across clusters.\n

\nAvailable since API v3.", "parameters": [], "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/hostTemplates/{hostTemplateName}": { "delete": { "description": "Deletes a host template.\n

\nAvailable since API v3.", "responses": { "200": { "description": "Successful Response" } } }, "get": { "description": "Retrieves information about a host template.\n

\nAvailable since API v3.", "responses": { "200": { "description": "Successful Response" } } }, "parameters": [ { "in": "path", "name": "hostTemplateName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "put": { "description": "Updates an existing host template.\n

\nCan be used to update the role config groups in a host template\nor rename it.\n

\nAvailable since API v3.", "parameters": [], "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/hostTemplates/{hostTemplateName}/commands/applyHostTemplate": { "parameters": [ { "description": "Host template to apply.", "in": "path", "name": "hostTemplateName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Applies a host template to a collection of hosts. This will create a role\nfor each role config group on each of the hosts.\n

\nThe provided hosts must not have any existing roles on them and if the\ncluster is not using parcels, the hosts must have a CDH version matching\nthat of the cluster version.\n

\nAvailable since API v3.", "parameters": [ { "description": "Whether to start the newly created roles or not.", "in": "query", "name": "startRoles", "required": false, "type": "string" } ], "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/hosts": { "delete": { "responses": { "200": { "description": "Successful Response" } } }, "get": { "responses": { "200": { "description": "Successful Response" } } }, "parameters": [ { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "parameters": [], "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/hosts/{hostId}": { "delete": { "responses": { "200": { "description": "Successful Response" } } }, "parameters": [ { "in": "path", "name": "clusterName", "required": true, "type": "string" }, { "in": "path", "name": "hostId", "required": true, "type": "string" } ] }, "/api/v11/clusters/{clusterName}/parcels": { "get": { "description": "Lists all parcels that the cluster has access to.", "parameters": [ { "in": "query", "name": "view", "required": false, "type": "string" } ], "responses": { "200": { "description": "Successful Response" } } }, "parameters": [ { "in": "path", "name": "clusterName", "required": true, "type": "string" } ] }, "/api/v11/clusters/{clusterName}/parcels/products/{product}/versions/{version}": { "get": { "description": "Retrieves detailed information about a parcel.", "responses": { "200": { "description": "Successful Response" } } }, "parameters": [ { "in": "path", "name": "product", "required": true, "type": "string" }, { "in": "path", "name": "version", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ] }, "/api/v11/clusters/{clusterName}/parcels/products/{product}/versions/{version}/commands/activate": { "parameters": [ { "in": "path", "name": "product", "required": true, "type": "string" }, { "in": "path", "name": "version", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "A synchronous command that activates the parcel on the cluster.\n

\nSince it is synchronous, the result is known immediately upon return.", "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/parcels/products/{product}/versions/{version}/commands/cancelDistribution": { "parameters": [ { "in": "path", "name": "product", "required": true, "type": "string" }, { "in": "path", "name": "version", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "A synchronous command that cancels the parcel distribution.\n

\nSince it is synchronous, the result is known immediately upon return.", "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/parcels/products/{product}/versions/{version}/commands/cancelDownload": { "parameters": [ { "in": "path", "name": "product", "required": true, "type": "string" }, { "in": "path", "name": "version", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "A synchronous command that cancels the parcel download.\n

\nSince it is synchronous, the result is known immediately upon return.", "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/parcels/products/{product}/versions/{version}/commands/deactivate": { "parameters": [ { "in": "path", "name": "product", "required": true, "type": "string" }, { "in": "path", "name": "version", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "A synchronous command that deactivates the parcel on the cluster.\n

\nSince it is synchronous, the result is known immediately upon return.", "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/parcels/products/{product}/versions/{version}/commands/removeDownload": { "parameters": [ { "in": "path", "name": "product", "required": true, "type": "string" }, { "in": "path", "name": "version", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "A synchronous command that removes the downloaded parcel.\n

\nSince it is synchronous, the result is known immediately upon return.", "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/parcels/products/{product}/versions/{version}/commands/startDistribution": { "parameters": [ { "in": "path", "name": "product", "required": true, "type": "string" }, { "in": "path", "name": "version", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "A synchronous command that starts the distribution of the parcel\nto the cluster.\n

\nSince it is synchronous, the result is known immediately upon return.\nIn order to see the progress of the distribution, a call\nto ParcelResource#readParcel() needs to be made.", "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/parcels/products/{product}/versions/{version}/commands/startDownload": { "parameters": [ { "in": "path", "name": "product", "required": true, "type": "string" }, { "in": "path", "name": "version", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "A synchronous command that starts the parcel download.\n

\nSince it is synchronous, the result is known immediately upon return.\nIn order to see the progress of the download, a call\nto ParcelResource#readParcel() needs to be made.", "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/parcels/products/{product}/versions/{version}/commands/startRemovalOfDistribution": { "parameters": [ { "in": "path", "name": "product", "required": true, "type": "string" }, { "in": "path", "name": "version", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "A synchronous command that removes the distribution from the hosts in\nthe cluster.\n

\nSince it is synchronous, the result is known immediately upon return.\nIn order to see the progress of the removal, a call\nto ParcelResource#readParcel() needs to be made.", "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/parcels/usage": { "get": { "description": "Retrieve details parcel usage information for the cluster. This describes\nwhich processes, roles and hosts are using which parcels.", "responses": { "200": { "description": "Successful Response" } } }, "parameters": [ { "in": "path", "name": "clusterName", "required": true, "type": "string" } ] }, "/api/v11/clusters/{clusterName}/serviceTypes": { "get": { "description": "List the supported service types for a cluster.", "responses": { "200": { "description": "Successful Response" } } }, "parameters": [ { "description": "The cluster.", "in": "path", "name": "clusterName", "required": true, "type": "string" } ] }, "/api/v11/clusters/{clusterName}/services": { "get": { "description": "Lists all services registered in the cluster.", "parameters": [ { "in": "query", "name": "view", "required": false, "type": "string" } ], "responses": { "200": { "description": "Successful Response" } } }, "parameters": [ { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Creates a list of services.\n

\nThere are typically two service creation strategies:\n

    \n
  1. \nThe caller may choose to set up a new service piecemeal, by first\ncreating the service itself (without any roles or configuration),\nand then create the roles, and then specify configuration.\n
  2. \n
  3. \nAlternatively, the caller can pack\nall the information in one call, by fully specifying the fields in\nthe com.cloudera.api.model.ApiService object, with\n\n
  4. \n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
Cluster VersionAvailable Service Types
CDH4HDFS, MAPREDUCE, HBASE, OOZIE, ZOOKEEPER, HUE, YARN, IMPALA, FLUME, HIVE, SOLR, SQOOP, KS_INDEXER
CDH5HDFS, MAPREDUCE, HBASE, OOZIE, ZOOKEEPER, HUE, YARN, IMPALA,\nFLUME, HIVE, SOLR, SQOOP, KS_INDEXER, SQOOP_CLIENT, SENTRY,\nACCUMULO16, KMS, SPARK_ON_YARN\n
\n\nAs of V6, GET /{clusterName}/serviceTypes should be used to get\nthe service types available to the cluster.", "parameters": [], "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}": { "delete": { "description": "Deletes a service from the system.", "responses": { "200": { "description": "Successful Response" } } }, "get": { "description": "Retrieves details information about a service.", "responses": { "200": { "description": "Successful Response" } } }, "parameters": [ { "description": "The service name.", "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "put": { "description": "Updates service information.\n

\nThis method will update only writable fields of the service information.\nCurrently this only includes the service display name.\n

\nAvailable since API v3.", "parameters": [], "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/activities": { "get": { "description": "Read all activities in the system", "parameters": [ { "description": "The maximum number of activities to return.", "in": "query", "name": "maxResults", "required": false, "type": "string" }, { "description": "Specified the offset of activities to return.", "in": "query", "name": "resultOffset", "required": false, "type": "string" }, { "description": "The query to perform to find activities in the system. By default,\nthis call returns top level (i.e. root) activities that have currently\nstarted.\n

\nThe query specifies the intersection of a list of constraints,\njoined together with semicolons (without spaces). For example:\n

\n
\n
status==started;parent==
\n
looks for running root activities. This is also the\ndefault query.
\n
status==failed;finishTime=gt=2012-04-01T20:30:00.000Z
\n
looks for failed activities after the given date time.
\n
name==Pi Estimator;startTime=gt=2012-04-01T20:30:00.000Z
\n
looks for activities started after the given date time,\nwith the name of \"Pi Estimator\".
\n
startTime=lt=2012-01-02T00:00:00.000Z;finishTime=ge=2012-01-01T00:00:00.000Z
\n
looks for activities that are active on 2012 New Year's Day.\nNote that they may start before or finish after that day.
\n
status==failed;parent==000014-20120425161321-oozie-joe
\n
looks for failed child activities of the given parent\nactivity id.
\n
status==started;metrics.cpu_user=gt=10
\n
looks for started activities that are using more than 10 cores\nper second.
\n
type==hive;metrics.user==bc;finishTime=gt=2012-04-01T20:30:00.000Z
\n
looks for all hive queries submitted by user bc after the\ngiven date time.
\n
\n\nYou may query any fields present in the ApiActivity object. You can\nalso query by activity metric values using the metrics.*\nsyntax. Values for date time fields should be ISO8601 timestamps.\n

\nThe valid comparators are ==, !=, =lt=,\n=le=, =ge=, and =gt=.\nThey stand for \"==\", \"!=\", \"<\", \"<=\",\n\">=\", \">\" respectively.", "in": "query", "name": "query", "required": false, "type": "string" }, { "description": "The view of the activities to materialize", "in": "query", "name": "view", "required": false, "type": "string" } ], "responses": { "200": { "description": "Successful Response" } } }, "parameters": [ { "description": "The name of the cluster", "in": "path", "name": "clusterName", "required": true, "type": "string" }, { "description": "The name of the service", "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ] }, "/api/v11/clusters/{clusterName}/services/{serviceName}/activities/{activityId}": { "get": { "description": "Returns a specific activity in the system", "parameters": [ { "description": "The view of the activity to materialize", "in": "query", "name": "view", "required": false, "type": "string" } ], "responses": { "200": { "description": "Successful Response" } } }, "parameters": [ { "description": "The name of the cluster", "in": "path", "name": "clusterName", "required": true, "type": "string" }, { "description": "The name of the service", "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "description": "The id of the activity to retrieve", "in": "path", "name": "activityId", "required": true, "type": "string" }, { "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ] }, "/api/v11/clusters/{clusterName}/services/{serviceName}/activities/{activityId}/children": { "get": { "description": "Returns the child activities", "parameters": [ { "description": "The maximum number of activities to return.", "in": "query", "name": "maxResults", "required": false, "type": "string" }, { "description": "Specified the offset of activities to return.", "in": "query", "name": "resultOffset", "required": false, "type": "string" }, { "description": "The view of the children to materialize", "in": "query", "name": "view", "required": false, "type": "string" } ], "responses": { "200": { "description": "Successful Response" } } }, "parameters": [ { "description": "The name of the cluster", "in": "path", "name": "clusterName", "required": true, "type": "string" }, { "description": "The name of the service", "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "description": "The id of the activity", "in": "path", "name": "activityId", "required": true, "type": "string" }, { "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ] }, "/api/v11/clusters/{clusterName}/services/{serviceName}/activities/{activityId}/metrics": { "get": { "description": "Fetch metric readings for a particular activity.\n

\nBy default, this call will look up all metrics available for the activity. If\nonly specific metrics are desired, use the metrics parameter.\n

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

\nWhen requesting a \"full\" view, aside from the extended properties of the\nreturned metric data, the collection will also contain information about\nall metrics available for the activity, even if no readings are available\nin the requested window.", "parameters": [ { "description": "Start of the period to query.", "in": "query", "name": "from", "required": false, "type": "string" }, { "description": "End of the period to query.", "in": "query", "name": "to", "required": false, "type": "string" }, { "description": "Filter for which metrics to query.", "in": "query", "name": "metrics", "required": false, "type": "string" }, { "description": "The view of the data to materialize,\neither \"summary\" or \"full\".", "in": "query", "name": "view", "required": false, "type": "string" } ], "responses": { "200": { "description": "Successful Response" } } }, "parameters": [ { "description": "The name of the cluster.", "in": "path", "name": "clusterName", "required": true, "type": "string" }, { "description": "The name of the service.", "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "description": "The name of the activity.", "in": "path", "name": "activityId", "required": true, "type": "string" }, { "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ] }, "/api/v11/clusters/{clusterName}/services/{serviceName}/activities/{activityId}/similar": { "get": { "description": "Returns a list of similar activities", "parameters": [ { "description": "The view of the activities to materialize", "in": "query", "name": "view", "required": false, "type": "string" } ], "responses": { "200": { "description": "Successful Response" } } }, "parameters": [ { "description": "The name of the cluster", "in": "path", "name": "clusterName", "required": true, "type": "string" }, { "description": "The name of the service", "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "description": "The id of the activity", "in": "path", "name": "activityId", "required": true, "type": "string" }, { "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ] }, "/api/v11/clusters/{clusterName}/services/{serviceName}/clientConfig": { "get": { "description": "Download a zip-compressed archive of the client configuration,\nof a specific service. This resource does not require any authentication.", "responses": { "200": { "description": "Successful Response" } } }, "parameters": [ { "description": "The service name.", "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ] }, "/api/v11/clusters/{clusterName}/services/{serviceName}/commands": { "get": { "description": "List active service commands.", "parameters": [ { "description": "The view of the data to materialize,\neither \"summary\" or \"full\".", "in": "query", "name": "view", "required": false, "type": "string" } ], "responses": { "200": { "description": "Successful Response" } } }, "parameters": [ { "description": "The service to which the role belongs.", "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ] }, "/api/v11/clusters/{clusterName}/services/{serviceName}/commands/createOozieDb": { "parameters": [ { "description": "Name of the Oozie service on which to run the command.", "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Creates the Oozie Database Schema in the configured database.\nThis command does not create database. This command creates only tables\nrequired by Oozie. To create database, please refer to oozieCreateEmbeddedDatabase()\n\n

\nAvailable since API v2.\n

", "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/commands/createSolrHdfsHomeDir": { "parameters": [ { "description": "The Solr service name.", "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Creates the home directory of a Solr service in HDFS.\n\n

\nAvailable since API v4.", "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/commands/createSqoopUserDir": { "parameters": [ { "description": "The Sqoop service name.", "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Creates the user directory of a Sqoop service in HDFS.\n\n

\nAvailable since API v4.", "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/commands/decommission": { "parameters": [ { "description": "The HBase service name.", "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Decommission roles of a service.\n

\nFor HBase services, the list should contain names of RegionServers to\ndecommission.\n

\nFor HDFS services, the list should contain names of DataNodes to\ndecommission.", "parameters": [], "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/commands/deployClientConfig": { "parameters": [ { "description": "The service name.", "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Deploy a service's client configuration.\n

\nThe client configuration is deployed to the hosts where the given roles\nare running.\n

\nAdded in v3: passing null for the role name list will deploy client configs\nto all known service roles.\nAdded in v6: passing an empty role name list will deploy client configs\nto all known service roles.\n

\nIn Cloudera Manager 5.3 and newer, client configurations are fully managed,\nmeaning that the server maintains state about which client configurations\nshould exist and be managed by alternatives, and the agents actively\nrectify their hosts with this state. Consequently, if this API call is made\nwith a specific set of roles, Cloudera Manager will deactivate, from\nalternatives, any deployed client configs from any non-gateway roles that\nare not specified as arguments. Gateway roles are always preserved,\nand calling this API with an empty or null argument continues to deploy to\nall roles.\n

", "parameters": [], "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/commands/disableJtHa": { "parameters": [ { "description": "The MapReduce service name.", "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Disable high availability (HA) for JobTracker.\n\nAs part of disabling HA, any services that depend on the MapReduce service\nbeing modified will be stopped. The command arguments provide options to\nspecify name of JobTracker that will be preserved. The Command will\nredeploy the client configurations for services of the cluster after HA\nhas been disabled.", "parameters": [], "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/commands/disableRmHa": { "parameters": [ { "description": "The YARN service name.", "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Disable high availability (HA) for ResourceManager.\n\nAs part of disabling HA, any services that depend on the YARN service\nbeing modified will be stopped. The command arguments provide options to\nspecify name of ResourceManager that will be preserved. The command will\nredeploy the client configurations for services of the cluster after HA\nhas been disabled.", "parameters": [], "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/commands/enableJtHa": { "parameters": [ { "description": "The MapReduce service name.", "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Enable high availability (HA) for a JobTracker.\n

\nThis command only applies to CDH4 MapReduce services.\n

\nThe command will create a new JobTracker on the specified host and then\ncreate an active/standby pair with the existing JobTracker. Autofailover\nwill be enabled using ZooKeeper. A ZNode will be created for this purpose.\nCommand arguments provide option to forcefully create this ZNode if one\nalready exists. A node may already exists if JobTracker was previously\nenabled in HA mode but HA mode was disabled later on. The ZNode is not\ndeleted when HA is disabled.\n

\nAs part of enabling HA, any services that depends on the MapReduce service\nbeing modified will be stopped. Command will redeploy the client\nconfigurations for services of the cluster after HA has been enabled.", "parameters": [], "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/commands/enableRmHa": { "parameters": [ { "description": "The YARN service name.", "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Enable high availability (HA) for a YARN ResourceManager.\n

\nThis command only applies to CDH5+ YARN services.\n

\nThe command will create a new ResourceManager on the specified host and then\ncreate an active/standby pair with the existing ResourceManager. Autofailover\nwill be enabled using ZooKeeper.\n

\nAs part of enabling HA, any services that depends on the YARN service\nbeing modified will be stopped. Command will redeploy the client\nconfigurations for services of the cluster after HA has been enabled.", "parameters": [], "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/commands/enterMaintenanceMode": { "parameters": [ { "description": "The service name.", "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Put the service into maintenance mode. This is a synchronous command. The\nresult is known immediately upon return.\n\n

\nAvailable since API v2.\n

", "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/commands/exitMaintenanceMode": { "parameters": [ { "description": "The service name.", "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Take the service out of maintenance mode. This is a synchronous command.\nThe result is known immediately upon return.\n\n

\nAvailable since API v2.\n

", "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/commands/firstRun": { "parameters": [ { "description": "The name of the cluster.", "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Prepare and start a service.\n\n

\nPerform all the steps needed to prepare the service and start it.\n

\n\n

\nAvailable since API v7.\n

", "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/commands/hbaseCreateRoot": { "parameters": [ { "description": "The HBase service name.", "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Creates the root directory of an HBase service.", "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/commands/hbaseUpgrade": { "parameters": [ { "description": "The HBase service name.", "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Upgrade HBase data in HDFS and ZooKeeper as part of upgrade from CDH4 to CDH5.\n

\nThis is required in order to run HBase after upgrade.\n

\nAvailable since API v6.", "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/commands/hdfsCreateTmpDir": { "parameters": [ { "description": "Name of the HDFS service on which to run the command.", "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Creates a tmp directory on the HDFS filesystem.\n

\nAvailable since API v2.\n

", "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/commands/hdfsDisableAutoFailover": { "parameters": [ { "description": "The HDFS service name.", "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Disable auto-failover for a highly available HDFS nameservice.\n

\nThe command will modify the nameservice's NameNodes configuration to\ndisable automatic failover, and delete the existing failover controllers.\n

\nThe ZooKeeper dependency of the service will not be removed.", "parameters": [], "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/commands/hdfsDisableHa": { "parameters": [ { "description": "The HDFS service name.", "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Disable high availability (HA) for an HDFS NameNode.\n

\nThe NameNode to be kept must be running before HA can be disabled.\n

\nAs part of disabling HA, any services that depend on the HDFS service being\nmodified will be stopped. The command arguments provide options to\nre-start these services and to re-deploy the client configurations for\nservices of the cluster after HA has been disabled.", "parameters": [], "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/commands/hdfsDisableNnHa": { "parameters": [ { "description": "The HDFS service name.", "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Disable High Availability (HA) with Automatic Failover for an HDFS NameNode.\n

\nAs part of disabling HA, any services that depend on the HDFS service being\nmodified will be stopped. The command will delete the Standby NameNode\nassociated with the specified NameNode. Any FailoverControllers associated\nwith the NameNode's nameservice are also deleted. A SecondaryNameNode\nis created on the host specified by the arugments.\n

\nIf no nameservices uses Quorum Journal after HA is disabled for the specified\nnameservice, then all JournalNodes are also deleted.\n

\nThen, HDFS service is restarted and all services that were stopped\nare started again afterwards.\nFinally, client configs for HDFS and its depedents will be re-deployed.", "parameters": [], "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/commands/hdfsEnableAutoFailover": { "parameters": [ { "description": "The HDFS service name.", "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Enable auto-failover for an HDFS nameservice.\n

\nThis command requires that the nameservice exists, and HA has been\nconfigured for that nameservice.\n

\nThe command will create the needed failover controllers, perform the\nneeded initialization and configuration, and will start the new roles.\nThe existing NameNodes which are part of the nameservice will be\nre-started in the process.\n

\nThis process may require changing the service's configuration, to add a\ndependency on the provided ZooKeeper service. This will be done if such a\ndependency has not been configured yet, and will cause roles that are\nnot affected by this command to show an \"outdated configuration\" status.\n

\nIf a ZooKeeper dependency has already been set up by some other means,\nit does not need to be provided in the command arguments.", "parameters": [], "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/commands/hdfsEnableHa": { "parameters": [ { "description": "The HDFS service name.", "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Enable high availability (HA) for an HDFS NameNode.\n

\nThe command will set up the given \"active\" and \"stand-by\" NameNodes as\nan HA pair. Both nodes need to already exist.\n

\nIf there is a SecondaryNameNode associated with either given NameNode\ninstance, it will be deleted.\n

\nNote that while the shared edits path may be different for both nodes,\nthey need to point to the same underlying storage (e.g., an NFS share).\n

\nAs part of enabling HA, any services that depend on the HDFS service being\nmodified will be stopped. The command arguments provide options to\nre-start these services and to re-deploy the client configurations for\nservices of the cluster after HA has been enabled.", "parameters": [], "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/commands/hdfsEnableNnHa": { "parameters": [ { "description": "The HDFS service name.", "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Enable High Availability (HA) with Automatic Failover for an HDFS NameNode.\n

\nThe command will create a Standby NameNode for the given nameservice\nand create FailoverControllers for both Active and Standby NameNodes.\nThe SecondaryNameNode associated with the Active NameNode will be deleted.\n

\nThe command will also create JournalNodes needed for HDFS HA if they\ndo not already exist.\n

\nAs part of enabling HA, any services that depend on the HDFS service being\nmodified will be stopped. They will be restarted after HA has been enabled.\nFinally, client configs for HDFS and its depedents will be re-deployed.", "parameters": [], "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/commands/hdfsFailover": { "parameters": [ { "description": "The HDFS service name.", "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Initiate a failover in an HDFS HA NameNode pair.\n

\nThe arguments should contain the names of the two NameNodes in\nthe HA pair. The first one should be the currently active NameNode,\nthe second one the NameNode to be made active.", "parameters": [ { "description": "Whether to force failover.", "in": "query", "name": "force", "required": false, "type": "string" } ], "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/commands/hdfsFinalizeRollingUpgrade": { "parameters": [ { "description": "The HDFS service name.", "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Finalizes the rolling upgrade for HDFS by updating the NameNode\nmetadata permanently to the next version. Should be done after\ndoing a rolling upgrade to a CDH version >= 5.2.0.\n

\nAvailable since API v8.", "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/commands/hdfsRollEdits": { "parameters": [ { "description": "The HDFS service name.", "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Roll the edits of an HDFS NameNode or Nameservice.\n

\nAvailable since API v3.", "parameters": [], "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/commands/hdfsUpgradeMetadata": { "parameters": [ { "description": "The HDFS service name.", "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Upgrade HDFS Metadata as part of a major version upgrade.\n

\nWhen doing a major version upgrade for HDFS, it is necessary to start HDFS\nin a special mode where it will do any necessary upgrades of stored\nmetadata. Trying to start HDFS normally will result in an error message and\nthe NameNode(s) failing to start.\n

\nThe metadata upgrade must eventually be finalized, using the\nhdfsFinalizeMetadataUpgrade command on the NameNode.\n

\nAvailable since API v6.", "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/commands/hiveCreateHiveUserDir": { "parameters": [ { "description": "The Hive service name.", "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Create the Hive user directory\n

\nAvailable since API v4.\n

", "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/commands/hiveCreateHiveWarehouse": { "parameters": [ { "description": "The Hive service name.", "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Create the Hive warehouse directory, on Hive services.\n

\nAvailable since API v3.\n

", "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/commands/hiveCreateMetastoreDatabase": { "parameters": [ { "description": "Name of the Hive service on which to run the command.", "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Create the Hive Metastore Database. Only works with embedded postgresql\ndatabase.\n

\nThis command is to be run whenever a new user and database needs to be\ncreated in the embedded postgresql database for a Hive service. This\ncommand should usually be followed by a call to\nhiveCreateMetastoreDatabaseTables.\n

\nAvailable since API v4.", "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/commands/hiveCreateMetastoreDatabaseTables": { "parameters": [ { "description": "Name of the Hive service on which to run the command.", "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Create the Hive Metastore Database tables.\n

\nThis command is to be run whenever a new database has been specified. Will\ndo nothing if tables already exist. Will not perform an upgrade. Only\nAvailable when all Hive Metastore Servers are stopped.\n

\nAvailable since API v3.", "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/commands/hiveUpdateMetastoreNamenodes": { "parameters": [ { "description": "Name of the Hive service on which to run the command.", "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Update Hive Metastore to point to a NameNode's Nameservice name instead of\nhostname.\n

\nBack up the Hive Metastore Database before running this command.\n

\nThis command is to be run after enabling HDFS High Availability. Only\navailable when all Hive Metastore Servers are stopped.\n

\nAvailable since API v4.", "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/commands/hiveUpgradeMetastore": { "parameters": [ { "description": "The Hive service name.", "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Upgrade Hive Metastore as part of a major version upgrade.\n

\nWhen doing a major version upgrade for Hive, it is necessary to upgrade\ndata in the metastore database.\n

\nAvailable since API v6.", "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/commands/hueCreateHiveWarehouse": { "parameters": [ { "description": "The Hue service name.", "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Create the Beeswax role's Hive warehouse directory, on Hue services.", "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/commands/hueDumpDb": { "parameters": [ { "description": "The name of the service", "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Runs Hue's dumpdata command.\n\nAvailable since API v10.", "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/commands/hueLoadDb": { "parameters": [ { "description": "The name of the service", "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Runs Hue's loaddata command.\n\nAvailable since API v10.", "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/commands/hueSyncDb": { "parameters": [ { "description": "The name of the service", "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Runs Hue's syncdb command.\n\nAvailable since API v10.", "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/commands/impalaCreateCatalogDatabase": { "parameters": [ { "description": "Name of the Impala service on which to run the command.", "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Not needed in CM 5.0.0 Release, since Impala Catalog Database\nis not yet available in CDH as of this release.\nCreate the Impala Catalog Database. Only works with embedded postgresql\ndatabase.\n

\nThis command is to be run whenever a new user and database needs to be\ncreated in the embedded postgresql database for the Impala Catalog Server.\nThis command should usually be followed by a call to\nimpalaCreateCatalogDatabaseTables.\n

\nAvailable since API v6.", "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/commands/impalaCreateCatalogDatabaseTables": { "parameters": [ { "description": "Name of the Impala service on which to run the command.", "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Not needed in CM 5.0.0 Release, since Impala Catalog Database\nis not yet available in CDH as of this release.\nCreate the Impala Catalog Database tables.\n

\nThis command is to be run whenever a new database has been specified. Will\ndo nothing if tables already exist. Will not perform an upgrade. Only\navailable when all Impala Catalog Servers are stopped.\n

\nAvailable since API v6.", "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/commands/impalaCreateUserDir": { "parameters": [ { "description": "The Impala service name.", "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Create the Impala user directory\n

\nAvailable since API v6.\n

", "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/commands/impalaDisableLlamaHa": { "parameters": [ { "description": "The Impala service name.", "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Disable high availability (HA) for an Impala Llama ApplicationMaster.\n

\nThis command only applies to CDH 5.1+ Impala services.\n

\nThe command argument specifies the name of the Llama role to be retained.\nThe other Llama role in the HA pair will be removed. As part of disabling\nHA, any services that depend on the Impala service being modified will be\nstopped. The command will redeploy the client configurations for all\nservices of the cluster after HA has been disabled.\n

\nAvailable since API v8.", "parameters": [], "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/commands/impalaDisableLlamaRm": { "parameters": [ { "description": "The Impala service name.", "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Disable Llama-based resource management for Impala.\n

\nThis command only applies to CDH 5.1+ Impala services.\n

\nThis command disables resource management for Impala by removing all\nLlama roles present in the Impala service. Any services that depend\non the Impala service being modified are restarted by the command,\nand client configuration is deployed for all services of the cluster.\n

\nNote that any configuration changes made to YARN and Impala when\nenabling resource management are not reverted by this command.\n

\nAvailable since API v8.", "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/commands/impalaEnableLlamaHa": { "parameters": [ { "description": "The Impala service name.", "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Enable high availability (HA) for an Impala Llama ApplicationMaster.\n

\nThis command only applies to CDH 5.1+ Impala services.\n

\nThe command will create a new Llama role on the specified host, and then\ncreate an active/standby pair with the existing Llama role. Autofailover\nwill be enabled using ZooKeeper.\n

\nIf an optional role name is supplied, the new Llama role will be named\naccordingly; otherwise, a role name will be automatically generated.\n

\nAs part of enabling HA, any services that depend on the Impala service\nbeing modified will be stopped. The command will redeploy the client\nconfigurations for services of the cluster after HA has been enabled.\n

\nAvailable since API v8.", "parameters": [], "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/commands/impalaEnableLlamaRm": { "parameters": [ { "description": "The Impala service name.", "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Enable Llama-based resource management for Impala.\n

\nThis command only applies to CDH 5.1+ Impala services.\n

\nThis command configures YARN and Impala for Llama resource management,\nand then creates one or two Llama roles, as specified by the arguments.\nWhen two Llama roles are created, they are configured as an active/standby\npair. Auto-failover from active to standby Llama will be enabled using\nZooKeeper.\n

\nIf an optional role name(s) are supplied, the new Llama role(s) will be\nnamed accordingly; otherwise, role name(s) will be automatically generated.\n

\nBy default, YARN, Impala, and any dependent services will be restarted,\nand client configuration will be re-deployed across the cluster. These\ndefault actions may be suppressed via setSkipRestart().\n

\nIn order to enable Llama resource management, a YARN service must be\npresent in the cluster, and Cgroup-based resource management must be\nenabled for all hosts with NodeManager roles. If these preconditions\nare not met, the command will fail.\n

\nAvailable since API v8.", "parameters": [], "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/commands/importMrConfigsIntoYarn": { "parameters": [ { "description": "Name of the Yarn service on which to run the command.", "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Import MapReduce configuration into Yarn, overwriting Yarn configuration.\n

\nYou will lose existing Yarn configuration. Read all MapReduce\nconfiguration, role assignments, and role configuration groups and update\nYarn with corresponding values. MR1 configuration will be converted into\nthe equivalent MR2 configuration.\n

\nBefore running this command, Yarn must be stopped and MapReduce must exist\nwith valid configuration.\n

\nAvailable since API v6.", "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/commands/initSolr": { "parameters": [ { "description": "The Solr service name.", "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Initializes the Solr service in Zookeeper.\n\n

\nAvailable since API v4.", "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/commands/installOozieShareLib": { "parameters": [ { "description": "Name of the Oozie service on which to run the command.", "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Creates directory for Oozie user in HDFS and installs the ShareLib in it.\n

\nThis command should be re-run after a major version upgrade to refresh the\nShareLib to the latest version.\n

\nAvailable since API v3.\n

", "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/commands/oozieCreateEmbeddedDatabase": { "parameters": [ { "description": "Name of the Oozie service on which to run the command.", "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Create the Oozie Server Database. Only works with embedded postgresql\ndatabase.\n

\nThis command is to be run whenever a new user and database need to be\ncreated in the embedded postgresql database for an Oozie service. This\ncommand should usually be followed by a call to createOozieDb.\n

\nAvailable since API v10.", "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/commands/oozieDisableHa": { "parameters": [ { "description": "The Oozie service name.", "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Disable high availability (HA) for Oozie.\n\nAs part of disabling HA, any services that depend on the Oozie service\nbeing modified will be stopped. The command arguments provide options to\nspecify name of Oozie Server that will be preserved. After deleting,\nother Oozie servers, all the services that were stopped are restarted.", "parameters": [], "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/commands/oozieEnableHa": { "parameters": [ { "description": "The Oozie service name.", "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Enable high availability (HA) for Oozie service.\n

\nThis command only applies to CDH5+ Oozie services.\n

\nThe command will create new Oozie Servers on the specified hosts and\nset the ZooKeeper and Load Balancer configs needed for Oozie HA.\n

\nAs part of enabling HA, any services that depends on the Oozie service\nbeing modified will be stopped and restarted after enabling Oozie HA.", "parameters": [], "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/commands/oozieUpgradeDb": { "parameters": [ { "description": "The Oozie service name.", "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Upgrade Oozie Database schema as part of a major version upgrade.\n

\nWhen doing a major version upgrade for Oozie, it is necessary to upgrade\nthe schema of its database before Oozie can run successfully.\n

\nAvailable since API v6.", "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/commands/recommission": { "parameters": [ { "description": "Name of the service on which to run the command.", "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Recommission roles of a service.\n

\nThe list should contain names of slave roles to recommission.\n

\n\n

\nAvailable since API v2.\n

", "parameters": [], "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/commands/restart": { "parameters": [ { "description": "The service to start.", "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Restart the service.", "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/commands/rollingRestart": { "parameters": [ { "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Command to run rolling restart of roles in a service. The sequence is:\n
    \n
  1. Restart all the non-slave roles\n
  2. If slaves are present restart them in batches of size specified in RollingRestartCmdArgs\n
  3. Perform any post-command needed after rolling restart\n
\n

\nAvailable since API v3. Only available with Cloudera Manager Enterprise\nEdition.", "parameters": [], "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/commands/sentryCreateDatabase": { "parameters": [ { "description": "Name of the Sentry service on which to run the command.", "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Create the Sentry Server Database. Only works with embedded postgresql\ndatabase.\n

\nThis command is to be run whenever a new user and database need to be\ncreated in the embedded postgresql database for a Sentry service. This\ncommand should usually be followed by a call to sentryCreateDatabaseTables.\n

\nAvailable since API v7.", "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/commands/sentryCreateDatabaseTables": { "parameters": [ { "description": "Name of the Sentry service on which to run the command.", "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Create the Sentry Server Database tables.\n

\nThis command is to be run whenever a new database has been specified. Will\ndo nothing if tables already exist. Will not perform an upgrade. Only\nAvailable when Sentry Server is stopped.\n

\nAvailable since API v7.", "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/commands/sentryUpgradeDatabaseTables": { "parameters": [ { "description": "Name of the Sentry service on which to run the command.", "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Upgrade the Sentry Server Database tables.\n

\nThis command is to be run whenever Sentry requires an upgrade to its\ndatabase tables.\n

\nAvailable since API v8.", "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/commands/sqoopCreateDatabaseTables": { "parameters": [ { "description": "Name of the Sentry service on which to run the command.", "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Create the Sqoop2 Server Database tables.\n

\nThis command is to be run whenever a new database has been specified. Will\ndo nothing if tables already exist. Will not perform an upgrade. Only\navailable when Sqoop2 Server is stopped.\n

\nAvailable since API v10.", "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/commands/sqoopUpgradeDb": { "parameters": [ { "description": "The Sqoop service name.", "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Upgrade Sqoop Database schema as part of a major version upgrade.\n

\nWhen doing a major version upgrade for Sqoop, it is necessary to upgrade\nthe schema of its database before Sqoop can run successfully.\n

\nAvailable since API v6.", "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/commands/start": { "parameters": [ { "description": "The service to start.", "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Start the service.", "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/commands/stop": { "parameters": [ { "description": "The service to stop.", "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Stop the service.", "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/commands/switchToMr2": { "parameters": [ { "description": "Name of the Yarn service on which to run the command.", "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Change the cluster to use MR2 instead of MR1. Services will be restarted.\n

\nWill perform the following steps:\n

\n

\nAvailable since API v6.", "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/commands/yarnApplicationDiagnosticsCollection": { "parameters": [ { "description": "Name of the YARN service on which to run the command.", "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Collect the Diagnostics data for Yarn applications\n

\nAvailable since API v8.", "parameters": [], "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/commands/yarnCreateJobHistoryDirCommand": { "parameters": [ { "description": "The YARN service name.", "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Create the Yarn job history directory\n

\nAvailable since API v6.\n

", "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/commands/yarnFormatStateStore": { "parameters": [ { "description": "The YARN service name.", "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Formats the state store in ZooKeeper used for Resource Manager\nHigh Availability. Typically used while moving from non-secure\nto secure cluster or vice-versa.\n

\nAvailable since API v8.", "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/commands/yarnNodeManagerRemoteAppLogDirCommand": { "parameters": [ { "description": "The YARN service name.", "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Create the Yarn NodeManager remote application log directory\n

\nAvailable since API v6.\n

", "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/commands/zooKeeperCleanup": { "parameters": [ { "description": "The service to start.", "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Clean up all running server instances of a ZooKeeper service.\n

\nThis command removes snapshots and transaction log files kept by\nZooKeeper for backup purposes. Refer to the ZooKeeper documentation\nfor more details.", "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/commands/zooKeeperInit": { "parameters": [ { "description": "The service to start.", "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Initializes all the server instances of a ZooKeeper service.\n

\nZooKeeper server roles need to be initialized before they\ncan be used.", "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/commands/{commandName}": { "parameters": [ { "description": "The service name.", "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "description": "The command name.", "in": "path", "name": "commandName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Executes a command on the service specified\nby name.\n

\nAvailable since API v6.\n

", "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/commandsByName": { "get": { "description": "Lists all the commands that can be executed by name\non the provided service.\n\n

\nAvailable since API v6.\n

", "responses": { "200": { "description": "Successful Response" } } }, "parameters": [ { "description": "The service name.", "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ] }, "/api/v11/clusters/{clusterName}/services/{serviceName}/config": { "get": { "description": "Retrieves the configuration of a specific service.\n

\nThe \"summary\" view contains only the configured parameters, and\nconfiguration for role types that contain configured parameters.\n

\nThe \"full\" view contains all available configuration parameters for\nthe service and its role types.\nThis mode performs validation on the configuration, which could take\na few seconds on a large cluster (around 500 nodes or more).", "parameters": [ { "description": "The view of the data to materialize,\neither \"summary\" or \"full\".", "in": "query", "name": "view", "required": false, "type": "string" } ], "responses": { "200": { "description": "Successful Response" } } }, "parameters": [ { "description": "The service to query.", "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "put": { "description": "Updates the service configuration with the given values.\n

\nIf a value is set in the given configuration, it will be added\nto the service's configuration, replacing any existing entries.\nIf a value is unset (its value is null), the existing\nconfiguration for the attribute will be erased, if any.\n

\nAttributes that are not listed in the input will maintain their\ncurrent values in the configuration.", "parameters": [ { "description": "Optional message describing the changes.", "in": "query", "name": "message", "required": false, "type": "string" } ], "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/impalaQueries": { "get": { "description": "Returns a list of queries that satisfy the filter\n

\nAvailable since API v4.", "parameters": [ { "description": "A filter to apply to the queries. A basic filter tests the\nvalue of an attribute and looks something like 'rowsFetched = 1' or\n'user = root'. Multiple basic filters can be combined into a complex\nexpression using standard and / or boolean logic and parenthesis.\nAn example of a complex filter is: 'query_duration > 5s and (user = root or\nuser = myUserName)'.", "in": "query", "name": "filter", "required": false, "type": "string" }, { "description": "Start of the period to query in ISO 8601 format (defaults to 5\nminutes before the 'to' time).", "in": "query", "name": "from", "required": false, "type": "string" }, { "description": "End of the period to query in ISO 8601 format (defaults to\ncurrent time).", "in": "query", "name": "to", "required": false, "type": "string" }, { "description": "The maximum number of queries to return. Queries will be\nreturned in the following order:\n

", "in": "query", "name": "limit", "required": false, "type": "string" }, { "description": "The offset to start returning queries from. This is useful\nfor paging through lists of queries. Note that this has non-deterministic\nbehavior if executing queries are included in the response because they\ncan disappear from the list while paging. To exclude executing queries\nfrom the response and a 'executing = false' clause to your filter.", "in": "query", "name": "offset", "required": false, "type": "string" } ], "responses": { "200": { "description": "Successful Response" } } }, "parameters": [ { "description": "The name of the service", "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ] }, "/api/v11/clusters/{clusterName}/services/{serviceName}/impalaQueries/attributes": { "get": { "description": "Returns the list of all attributes that the Service Monitor can associate\nwith Impala queries.\n

\nExamples of attributes include the user who issued the query and the\nnumber of HDFS bytes read by the query.\n

\nThese attributes can be used to search for specific Impala queries through\nthe getImpalaQueries API. For example the 'user' attribute could be used\nin the search 'user = root'. If the attribute is numeric it can also be used\nas a metric in a tsquery (ie, 'select hdfs_bytes_read from IMPALA_QUERIES').\n

\nNote that this response is identical for all Impala services.\n

\nAvailable since API v6.", "responses": { "200": { "description": "Successful Response" } } }, "parameters": [ { "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ] }, "/api/v11/clusters/{clusterName}/services/{serviceName}/impalaQueries/{queryId}": { "get": { "description": "Returns details about the query. Not all queries have details, check\nthe detailsAvailable field from the getQueries response.\n

\nAvailable since API v4.", "parameters": [ { "description": "There are two valid format parameters:\n

", "in": "query", "name": "format", "required": false, "type": "string" } ], "responses": { "200": { "description": "Successful Response" } } }, "parameters": [ { "description": "The queryId to get information about", "in": "path", "name": "queryId", "required": true, "type": "string" }, { "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ] }, "/api/v11/clusters/{clusterName}/services/{serviceName}/impalaQueries/{queryId}/cancel": { "parameters": [ { "description": "The name of the service", "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "description": "The queryId to cancel", "in": "path", "name": "queryId", "required": true, "type": "string" }, { "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Cancels an Impala Query.\n

\nAvailable since API v4.", "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/metrics": { "get": { "description": "Fetch metric readings for a particular service.\n

\nBy default, this call will look up all metrics available for the service.\nIf only specific metrics are desired, use the metrics parameter.\n

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

\nWhen requesting a \"full\" view, aside from the extended properties of the\nreturned metric data, the collection will also contain information about\nall metrics available for the service, even if no readings are available\nin the requested window.\n

\nHDFS services that have more than one nameservice will not expose\nany metrics. Instead, the nameservices should be queried separately.\n

", "parameters": [ { "description": "Start of the period to query.", "in": "query", "name": "from", "required": false, "type": "string" }, { "description": "End of the period to query.", "in": "query", "name": "to", "required": false, "type": "string" }, { "description": "Filter for which metrics to query.", "in": "query", "name": "metrics", "required": false, "type": "string" }, { "description": "The view of the data to materialize,\neither \"summary\" or \"full\".", "in": "query", "name": "view", "required": false, "type": "string" } ], "responses": { "200": { "description": "Successful Response" } } }, "parameters": [ { "description": "The name of the service.", "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ] }, "/api/v11/clusters/{clusterName}/services/{serviceName}/nameservices": { "get": { "description": "List the nameservices of an HDFS service.", "parameters": [ { "description": "The view of the data to materialize,\neither \"summary\" or \"full\".", "in": "query", "name": "view", "required": false, "type": "string" } ], "responses": { "200": { "description": "Successful Response" } } }, "parameters": [ { "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ] }, "/api/v11/clusters/{clusterName}/services/{serviceName}/nameservices/{nameservice}": { "get": { "description": "Retrieve information about a nameservice.", "responses": { "200": { "description": "Successful Response" } } }, "parameters": [ { "description": "The nameservice to retrieve.", "in": "path", "name": "nameservice", "required": true, "type": "string" }, { "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ] }, "/api/v11/clusters/{clusterName}/services/{serviceName}/nameservices/{nameservice}/metrics": { "get": { "description": "Fetch metric readings for a particular nameservice.\n

\nBy default, this call will look up all metrics available. If only specific\nmetrics are desired, use the metrics parameter.\n

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

\nWhen requesting a \"full\" view, aside from the extended properties of the\nreturned metric data, the collection will also contain information about\nall metrics available, even if no readings are available in the requested\nwindow.", "parameters": [ { "description": "Start of the period to query.", "in": "query", "name": "from", "required": false, "type": "string" }, { "description": "End of the period to query.", "in": "query", "name": "to", "required": false, "type": "string" }, { "description": "Filter for which metrics to query.", "in": "query", "name": "metrics", "required": false, "type": "string" }, { "description": "The view of the data to materialize,\neither \"summary\" or \"full\".", "in": "query", "name": "view", "required": false, "type": "string" } ], "responses": { "200": { "description": "Successful Response" } } }, "parameters": [ { "description": "The nameservice.", "in": "path", "name": "nameservice", "required": true, "type": "string" }, { "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ] }, "/api/v11/clusters/{clusterName}/services/{serviceName}/replications": { "delete": { "description": "Deletes all existing replication schedules.\n

\nAvailable since API v3. Only available with Cloudera Manager Enterprise\nEdition.", "responses": { "200": { "description": "Successful Response" } } }, "get": { "description": "Returns information for all replication schedules.\n

\nAvailable since API v3. Only available with Cloudera Manager Enterprise\nEdition.", "parameters": [ { "description": "The view to materialize.", "in": "query", "name": "view", "required": false, "type": "string" } ], "responses": { "200": { "description": "Successful Response" } } }, "parameters": [ { "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Creates one or more replication schedules.\n

\nAvailable since API v3. Only available with Cloudera Manager Enterprise\nEdition.", "parameters": [], "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/replications/{scheduleId}": { "delete": { "description": "Deletes an existing replication schedule.\n

\nAvailable since API v3. Only available with Cloudera Manager Enterprise\nEdition.", "responses": { "200": { "description": "Successful Response" } } }, "get": { "description": "Returns information for a specific replication schedule.\n

\nAvailable since API v3. Only available with Cloudera Manager Enterprise\nEdition.", "parameters": [ { "description": "The view to materialize.", "in": "query", "name": "view", "required": false, "type": "string" } ], "responses": { "200": { "description": "Successful Response" } } }, "parameters": [ { "description": "Id of an existing replication schedule.", "in": "path", "name": "scheduleId", "required": true, "type": "string" }, { "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "put": { "description": "Updates an existing replication schedule.\n

\nAvailable since API v3. Only available with Cloudera Manager Enterprise\nEdition.", "parameters": [], "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/replications/{scheduleId}/collectDiagnosticData": { "parameters": [ { "description": "Schedule ID", "in": "path", "name": "scheduleId", "required": true, "type": "string" }, { "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Collect diagnostic data for a schedule, optionally for a subset of commands\non that schedule, matched by schedule ID.\n\nThe returned command's resultDataUrl property, upon the commands completion,\nwill refer to the generated diagnostic data.\nAvailable since API v11.", "parameters": [ { "description": "view to materialize", "in": "query", "name": "view", "required": false, "type": "string" } ], "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/replications/{scheduleId}/history": { "get": { "description": "Returns a list of commands triggered by a schedule.", "parameters": [ { "description": "Maximum number of commands to retrieve.", "in": "query", "name": "limit", "required": false, "type": "string" }, { "description": "Index of first command to retrieve.", "in": "query", "name": "offset", "required": false, "type": "string" }, { "description": "The view to materialize.", "in": "query", "name": "view", "required": false, "type": "string" } ], "responses": { "200": { "description": "Successful Response" } } }, "parameters": [ { "description": "Id of an existing replication schedule.", "in": "path", "name": "scheduleId", "required": true, "type": "string" }, { "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ] }, "/api/v11/clusters/{clusterName}/services/{serviceName}/replications/{scheduleId}/run": { "parameters": [ { "description": "Id of an existing replication schedule.", "in": "path", "name": "scheduleId", "required": true, "type": "string" }, { "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Run the schedule immediately.\n

\nThe replication command will be triggered with the configured arguments,\nand will be recorded in the schedule's history.\n

\nAvailable since API v3. Only available with Cloudera Manager Enterprise\nEdition.", "parameters": [ { "description": "Whether to execute a dry run.", "in": "query", "name": "dryRun", "required": false, "type": "string" } ], "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/reports/hdfsUsageReport": { "get": { "description": "Fetch the HDFS usage report. For the requested time range, at the\nspecified aggregation intervals, the report shows HDFS disk usages\nper user.\n

\nThis call supports returning JSON or CSV, as determined by the\n\"Accept\" header of application/json or text/csv.\n

\nAvailable since API v4. Only available with Cloudera Manager Enterprise\nEdition.", "parameters": [ { "description": "The (optional) HDFS nameservice. Required for HA setup.", "in": "query", "name": "nameservice", "required": false, "type": "string" }, { "description": "The (optional) start time of the report in ISO 8601 format (\ndefaults to 24 hours before \"to\" time).", "in": "query", "name": "from", "required": false, "type": "string" }, { "description": "The (optional) end time of the report in ISO 8601 format (\ndefaults to now).", "in": "query", "name": "to", "required": false, "type": "string" }, { "description": "The (optional) aggregation period for the data.\nSupports \"hourly\", \"daily\" (default) and \"weekly\".", "in": "query", "name": "aggregation", "required": false, "type": "string" } ], "responses": { "200": { "description": "Successful Response" } } }, "parameters": [ { "description": "The HDFS service name.", "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ] }, "/api/v11/clusters/{clusterName}/services/{serviceName}/reports/mrUsageReport": { "get": { "description": "Fetch the MR usage report. For the requested time range, at the\nspecified aggregation intervals, the report shows job CPU usages (and other\nmetrics) per user.\n

\nThis call supports returning JSON or CSV, as determined by the\n\"Accept\" header of application/json or text/csv.\n

\nAvailable since API v4. Only available with Cloudera Manager Enterprise\nEdition.", "parameters": [ { "description": "The (optional) start time of the report in ISO 8601 format\n(defaults to 24 hours before \"to\" time).", "in": "query", "name": "from", "required": false, "type": "string" }, { "description": "The (optional) end time of the report in ISO 8601 format (defaults\nto now).", "in": "query", "name": "to", "required": false, "type": "string" }, { "description": "The (optional) aggregation period for the data.\nSupports \"hourly\", \"daily\" (default) and \"weekly\".", "in": "query", "name": "aggregation", "required": false, "type": "string" } ], "responses": { "200": { "description": "Successful Response" } } }, "parameters": [ { "description": "The MR service name.", "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ] }, "/api/v11/clusters/{clusterName}/services/{serviceName}/roleCommands/hdfsBootstrapStandBy": { "parameters": [ { "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Bootstrap HDFS stand-by NameNodes.\n

\nSubmit a request to synchronize HDFS NameNodes with their assigned HA\npartners. The command requires that the target NameNodes are part of\nexisting HA pairs, which can be accomplished by setting the nameservice\nconfiguration parameter in the NameNode's configuration.\n

\nThe HA partner must already be formatted and running for this command\nto run.", "parameters": [], "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/roleCommands/hdfsEnterSafemode": { "parameters": [ { "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Enter safemode for namenodes\n

\nAvailable since API v4.", "parameters": [], "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/roleCommands/hdfsFinalizeMetadataUpgrade": { "parameters": [ { "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Finalize HDFS NameNode metadata upgrade.\n

\nAvailable since API v3.", "parameters": [], "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/roleCommands/hdfsFormat": { "parameters": [ { "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Format HDFS NameNodes.\n

\nSubmit a format request to a list of NameNodes on a service. Note that\ntrying to format a previously formatted NameNode will fail.\n

\nNote about high availability: when two NameNodes are working in an HA\npair, only one of them should be formatted.\n

\nBulk command operations are not atomic, and may contain partial failures.\nThe returned list will contain references to all successful commands, and\na list of error messages identifying the roles on which the command\nfailed.", "parameters": [], "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/roleCommands/hdfsInitializeAutoFailover": { "parameters": [ { "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Initialize HDFS HA failover controller metadata.\n

\nThe controllers being initialized must already exist and be properly\nconfigured. The command will make sure the needed data is initialized\nfor the controller to work.\n

\nOnly one controller per nameservice needs to be initialized.", "parameters": [], "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/roleCommands/hdfsInitializeSharedDir": { "parameters": [ { "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Initialize HDFS NameNodes' shared edit directory.\n

\nShared edit directories are used when two HDFS NameNodes are operating as\na high-availability pair. This command initializes the shared directory to\ninclude the necessary metadata.\n

\nThe provided role names should reflect one of the NameNodes in the\nrespective HA pair; the role must be stopped and its data directory must\nalready have been formatted. The shared edits directory must be empty for\nthis command to succeed.", "parameters": [], "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/roleCommands/hdfsLeaveSafemode": { "parameters": [ { "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Leave safemode for namenodes\n

\nAvailable since API v4.", "parameters": [], "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/roleCommands/hdfsSaveNamespace": { "parameters": [ { "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Save namespace for namenodes\n

\nAvailable since API v4.", "parameters": [], "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/roleCommands/hueSyncDb": { "parameters": [ { "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Create / update the Hue database schema.\n

\nThis command is to be run whenever a new database has been specified or,\nas necessary, after an upgrade.\n

\nThis request should be sent to Hue servers only.", "parameters": [], "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/roleCommands/jmapDump": { "parameters": [ { "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Run the jmapDump diagnostic command. The command runs the jmap utility to\ncapture a dump of the role's java heap.\n

\nAvailable since API v8.", "parameters": [], "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/roleCommands/jmapHisto": { "parameters": [ { "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Run the jmapHisto diagnostic command. The command runs the jmap utility to\ncapture a histogram of the objects on the role's java heap.\n

\nAvailable since API v8.", "parameters": [], "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/roleCommands/jstack": { "parameters": [ { "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Run the jstack diagnostic command. The command runs the jstack utility to\ncapture a role's java thread stacks.\n

\nAvailable since API v8.", "parameters": [], "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/roleCommands/lsof": { "parameters": [ { "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Run the lsof diagnostic command. This command runs the lsof utility to\nlist a role's open files.\n

\nAvailable since API v8.", "parameters": [], "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/roleCommands/refresh": { "parameters": [ { "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Refresh a role's data.\n

\nFor MapReduce services, this command should be executed on JobTracker\nroles. It refreshes the role's queue and node information.\n

\nFor HDFS services, this command should be executed on NameNode or\nDataNode roles. For NameNodes, it refreshes the role's node list.\nFor DataNodes, it refreshes the role's data directory list.\n

\nFor YARN services, this command should be executed on ResourceManager\nroles. It refreshes the role's queue and node information.\n

\nAvailable since API v1. DataNode data directories refresh available\nsince API v10.", "parameters": [], "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/roleCommands/restart": { "parameters": [ { "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Restart a set of role instances\n

\nBulk command operations are not atomic, and may contain partial failures.\nThe returned list will contain references to all successful commands, and\na list of error messages identifying the roles on which the command\nfailed.", "parameters": [], "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/roleCommands/start": { "parameters": [ { "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Start a set of role instances.\n

\nBulk command operations are not atomic, and may contain partial failures.\nThe returned list will contain references to all successful commands, and\na list of error messages identifying the roles on which the command\nfailed.", "parameters": [], "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/roleCommands/stop": { "parameters": [ { "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Stop a set of role instances.\n

\nBulk command operations are not atomic, and may contain partial failures.\nThe returned list will contain references to all successful commands, and\na list of error messages identifying the roles on which the command\nfailed.", "parameters": [], "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/roleCommands/zooKeeperCleanup": { "parameters": [ { "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Cleanup a list of ZooKeeper server roles.\n

\nThis command removes snapshots and transaction log files kept by\nZooKeeper for backup purposes. Refer to the ZooKeeper documentation\nfor more details.", "parameters": [], "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/roleCommands/zooKeeperInit": { "parameters": [ { "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Initialize a list of ZooKeeper server roles.\n

\nThis applies to ZooKeeper services from CDH4. Before ZooKeeper server\nroles can be used, they need to be initialized.", "parameters": [], "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/roleCommands/{commandName}": { "parameters": [ { "description": "the name of command to execute.", "in": "path", "name": "commandName", "required": true, "type": "string" }, { "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Execute a role command by name.\n

\nAvailable since API v6.", "parameters": [], "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/roleConfigGroups": { "get": { "description": "Returns the information for all role config groups for\na given cluster and service.\n

\nAvailable since API v3.", "responses": { "200": { "description": "Successful Response" } } }, "parameters": [ { "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Creates new role config groups.\nIt is not allowed to create base groups (base must be set to false.)\n

\nAvailable since API v3.", "parameters": [], "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/roleConfigGroups/roles": { "parameters": [ { "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "put": { "description": "Moves roles to the base role config group.\n\nThe roles can be moved from any role config group belonging to the same\nservice. The role type of the roles may vary. Each role will be moved to\nits corresponding base group depending on its role type.\n

\nAvailable since API v3.", "parameters": [], "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/roleConfigGroups/{roleConfigGroupName}": { "delete": { "description": "Deletes a role config group.\n

\nAvailable since API v3.", "responses": { "200": { "description": "Successful Response" } } }, "get": { "description": "Returns the information for a role config group.\n

\nAvailable since API v3.", "responses": { "200": { "description": "Successful Response" } } }, "parameters": [ { "description": "The name of the requested group.", "in": "path", "name": "roleConfigGroupName", "required": true, "type": "string" }, { "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "put": { "description": "Updates an existing role config group\n

\nAvailable since API v3.", "parameters": [ { "description": "The optional message describing the changes.", "in": "query", "name": "message", "required": false, "type": "string" } ], "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/roleConfigGroups/{roleConfigGroupName}/config": { "get": { "description": "Returns the current revision of the config\nfor the specified role config group.\n

\nAvailable since API v3.", "parameters": [ { "description": "The view of the data to materialize,\neither \"summary\" or \"full\".", "in": "query", "name": "view", "required": false, "type": "string" } ], "responses": { "200": { "description": "Successful Response" } } }, "parameters": [ { "description": "The name of the role config group.", "in": "path", "name": "roleConfigGroupName", "required": true, "type": "string" }, { "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "put": { "description": "Updates the config for the given role config group.", "parameters": [ { "description": "Optional message describing the changes.", "in": "query", "name": "message", "required": false, "type": "string" } ], "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/roleConfigGroups/{roleConfigGroupName}/roles": { "get": { "description": "Returns all roles in the given role config group.\n

\nAvailable since API v3.", "responses": { "200": { "description": "Successful Response" } } }, "parameters": [ { "description": "The name of the role config group.", "in": "path", "name": "roleConfigGroupName", "required": true, "type": "string" }, { "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "put": { "description": "Moves roles to the specified role config group.\n\nThe roles can be moved from any role config group belonging\nto the same service. The role type of the destination group\nmust match the role type of the roles.\n

\nAvailable since API v3.", "parameters": [], "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/roleTypes": { "get": { "description": "List the supported role types for a service.", "responses": { "200": { "description": "Successful Response" } } }, "parameters": [ { "description": "The service to modify.", "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ] }, "/api/v11/clusters/{clusterName}/services/{serviceName}/roles": { "get": { "description": "Lists all roles of a given service.", "responses": { "200": { "description": "Successful Response" } } }, "parameters": [ { "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Create new roles in a given service.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
Service TypeAvailable Role Types
HDFS (CDH3)NAMENODE, DATANODE, SECONDARYNAMENODE, BALANCER, GATEWAY
HDFS (CDH4)NAMENODE, DATANODE, SECONDARYNAMENODE, BALANCER, HTTPFS,\nFAILOVERCONTROLLER, GATEWAY, JOURNALNODE
HDFS (CDH5)NAMENODE, DATANODE, SECONDARYNAMENODE, BALANCER, HTTPFS,\nFAILOVERCONTROLLER, GATEWAY, JOURNALNODE, NFSGATEWAY
MAPREDUCEJOBTRACKER, TASKTRACKER, GATEWAY, FAILOVERCONTROLLER,
HBASEMASTER, REGIONSERVER, GATEWAY, HBASETHRIFTSERVER, HBASERESTSERVER
YARNRESOURCEMANAGER, NODEMANAGER, JOBHISTORY, GATEWAY
OOZIEOOZIE_SERVER
ZOOKEEPERSERVER
HUE (CDH3)HUE_SERVER, BEESWAX_SERVER, KT_RENEWER, JOBSUBD
HUE (CDH4)HUE_SERVER, BEESWAX_SERVER, KT_RENEWER
HUE (CDH5)HUE_SERVER, KT_RENEWER
FLUMEAGENT
IMPALA (CDH4)IMPALAD, STATESTORE, CATALOGSERVER
IMPALA (CDH5)IMPALAD, STATESTORE, CATALOGSERVER, LLAMA
HIVEHIVESERVER2, HIVEMETASTORE, WEBHCAT, GATEWAY
SOLRSOLR_SERVER, GATEWAY
SQOOPSQOOP_SERVER
SQOOP_CLIENTGATEWAY
SENTRYSENTRY_SERVER
ACCUMULO16GARBAGE_COLLECTOR, GATEWAY, ACCUMULO16_MASTER, MONITOR,\nACCUMULO16_TSERVER, TRACER
KMSKMS
KS_INDEXERHBASE_INDEXER
SPARK_ON_YARNGATEWAY, SPARK_YARN_HISTORY_SERVER
\n\nWhen specifying roles to be created, the names provided for each role\nmust not conflict with the names that CM auto-generates for roles.\nSpecifically, names of the form\n\"--\" cannot be used unless the\n is the same one CM would use. If CM detects such a\nconflict, the error message will indicate what is safe\nto use. Alternately, a differently formatted name should be used.\n\nSince API v6: The role name can be left blank to allow CM to generate the\nname.", "parameters": [], "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/roles/{roleName}": { "delete": { "description": "Deletes a role from a given service.", "responses": { "200": { "description": "Successful Response" } } }, "get": { "description": "Retrieves detailed information about a role.", "responses": { "200": { "description": "Successful Response" } } }, "parameters": [ { "description": "The role name.", "in": "path", "name": "roleName", "required": true, "type": "string" }, { "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ] }, "/api/v11/clusters/{clusterName}/services/{serviceName}/roles/{roleName}/commands": { "get": { "description": "List active role commands.", "parameters": [ { "description": "The view of the data to materialize,\neither \"summary\" or \"full\".", "in": "query", "name": "view", "required": false, "type": "string" } ], "responses": { "200": { "description": "Successful Response" } } }, "parameters": [ { "description": "The role to start.", "in": "path", "name": "roleName", "required": true, "type": "string" }, { "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ] }, "/api/v11/clusters/{clusterName}/services/{serviceName}/roles/{roleName}/commands/enterMaintenanceMode": { "parameters": [ { "description": "The role name.", "in": "path", "name": "roleName", "required": true, "type": "string" }, { "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Put the role into maintenance mode. This is a synchronous command. The\nresult is known immediately upon return.\n\n

\nAvailable since API v2.\n

", "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/roles/{roleName}/commands/exitMaintenanceMode": { "parameters": [ { "description": "The role name.", "in": "path", "name": "roleName", "required": true, "type": "string" }, { "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Take the role out of maintenance mode. This is a synchronous command. The\nresult is known immediately upon return.\n\n

\nAvailable since API v2.\n

", "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/roles/{roleName}/config": { "get": { "description": "Retrieves the configuration of a specific role. Note that the \"full\" view\nperforms validation on the configuration, which could take a few seconds\non a large cluster (around 500 nodes or more).", "parameters": [ { "description": "The view of the data to materialize,\neither \"summary\" or \"full\".", "in": "query", "name": "view", "required": false, "type": "string" } ], "responses": { "200": { "description": "Successful Response" } } }, "parameters": [ { "description": "The role to look up.", "in": "path", "name": "roleName", "required": true, "type": "string" }, { "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "put": { "description": "Updates the role configuration with the given values.\n

\nIf a value is set in the given configuration, it will be added\nto the role's configuration, replacing any existing entries.\nIf a value is unset (its value is null), the existing\nconfiguration for the attribute will be erased, if any.\n

\nAttributes that are not listed in the input will maintain their\ncurrent values in the configuration.", "parameters": [ { "description": "Optional message describing the changes.", "in": "query", "name": "message", "required": false, "type": "string" } ], "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/roles/{roleName}/logs/full": { "get": { "description": "Retrieves the log file for the role's main process.\n

\nIf the role is not started, this will be the log file associated with\nthe last time the role was run.\n

\nLog files are returned as plain text (type \"text/plain\").", "responses": { "200": { "description": "Successful Response" } } }, "parameters": [ { "description": "The role to fetch logs from.", "in": "path", "name": "roleName", "required": true, "type": "string" }, { "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ] }, "/api/v11/clusters/{clusterName}/services/{serviceName}/roles/{roleName}/logs/stderr": { "get": { "description": "Retrieves the role's standard error output.\n

\nIf the role is not started, this will be the output associated with\nthe last time the role was run.\n

\nLog files are returned as plain text (type \"text/plain\").", "responses": { "200": { "description": "Successful Response" } } }, "parameters": [ { "description": "The role to fetch stderr from.", "in": "path", "name": "roleName", "required": true, "type": "string" }, { "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ] }, "/api/v11/clusters/{clusterName}/services/{serviceName}/roles/{roleName}/logs/stdout": { "get": { "description": "Retrieves the role's standard output.\n

\nIf the role is not started, this will be the output associated with\nthe last time the role was run.\n

\nLog files are returned as plain text (type \"text/plain\").", "responses": { "200": { "description": "Successful Response" } } }, "parameters": [ { "description": "The role to fetch stdout from.", "in": "path", "name": "roleName", "required": true, "type": "string" }, { "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ] }, "/api/v11/clusters/{clusterName}/services/{serviceName}/roles/{roleName}/metrics": { "get": { "description": "Fetch metric readings for a particular role.\n

\nBy default, this call will look up all metrics available for the role. If\nonly specific metrics are desired, use the metrics parameter.\n

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

\nWhen requesting a \"full\" view, aside from the extended properties of the\nreturned metric data, the collection will also contain information about\nall metrics available for the role, even if no readings are available\nin the requested window.", "parameters": [ { "description": "Start of the period to query.", "in": "query", "name": "from", "required": false, "type": "string" }, { "description": "End of the period to query.", "in": "query", "name": "to", "required": false, "type": "string" }, { "description": "Filter for which metrics to query.", "in": "query", "name": "metrics", "required": false, "type": "string" }, { "description": "The view of the data to materialize,\neither \"summary\" or \"full\".", "in": "query", "name": "view", "required": false, "type": "string" } ], "responses": { "200": { "description": "Successful Response" } } }, "parameters": [ { "description": "The name of the role.", "in": "path", "name": "roleName", "required": true, "type": "string" }, { "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ] }, "/api/v11/clusters/{clusterName}/services/{serviceName}/roles/{roleName}/process": { "get": { "responses": { "200": { "description": "Successful Response" } } }, "parameters": [ { "in": "path", "name": "roleName", "required": true, "type": "string" }, { "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ] }, "/api/v11/clusters/{clusterName}/services/{serviceName}/roles/{roleName}/process/configFiles/{configFileName }": { "get": { "description": "Returns the contents of the specified config file.\nA multi-level file name (e.g. hadoop-conf/hdfs-site.xml) is\nacceptable here.", "responses": { "200": { "description": "Successful Response" } } }, "parameters": [ { "description": "Name of the config file to get.", "in": "path", "name": "configFileName", "required": true, "type": "string" }, { "in": "path", "name": "roleName", "required": true, "type": "string" }, { "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ] }, "/api/v11/clusters/{clusterName}/services/{serviceName}/snapshots/policies": { "get": { "description": "Returns information for all snapshot policies.", "parameters": [ { "description": "The view to materialize.", "in": "query", "name": "view", "required": false, "type": "string" } ], "responses": { "200": { "description": "Successful Response" } } }, "parameters": [ { "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Creates one or more snapshot policies.", "parameters": [], "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/snapshots/policies/{policyName}": { "delete": { "description": "Deletes an existing snapshot policy.", "responses": { "200": { "description": "Successful Response" } } }, "get": { "description": "Returns information for a specific snapshot policy.", "parameters": [ { "description": "The view to materialize.", "in": "query", "name": "view", "required": false, "type": "string" } ], "responses": { "200": { "description": "Successful Response" } } }, "parameters": [ { "description": "Name of an existing snapshot policy.", "in": "path", "name": "policyName", "required": true, "type": "string" }, { "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "put": { "description": "Updates an existing snapshot policy.", "parameters": [], "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/clusters/{clusterName}/services/{serviceName}/snapshots/policies/{policyName}/history": { "get": { "description": "Returns a list of commands triggered by a snapshot policy.", "parameters": [ { "description": "Maximum number of commands to retrieve.", "in": "query", "name": "limit", "required": false, "type": "string" }, { "description": "Index of first command to retrieve.", "in": "query", "name": "offset", "required": false, "type": "string" }, { "description": "The view to materialize.", "in": "query", "name": "view", "required": false, "type": "string" } ], "responses": { "200": { "description": "Successful Response" } } }, "parameters": [ { "description": "Name of an existing snapshot policy.", "in": "path", "name": "policyName", "required": true, "type": "string" }, { "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ] }, "/api/v11/clusters/{clusterName}/services/{serviceName}/yarnApplications": { "get": { "description": "Returns a list of applications that satisfy the filter\n

\nAvailable since API v6.", "parameters": [ { "description": "A filter to apply to the applications. A basic filter tests the\nvalue of an attribute and looks something like 'executing = true' or\n'user = root'. Multiple basic filters can be combined into a complex\nexpression using standard and / or boolean logic and parenthesis.\nAn example of a complex filter is: 'application_duration > 5s and (user = root or\nuser = myUserName').", "in": "query", "name": "filter", "required": false, "type": "string" }, { "description": "Start of the period to query in ISO 8601 format (defaults to 5\nminutes before the 'to' time).", "in": "query", "name": "from", "required": false, "type": "string" }, { "description": "End of the period to query in ISO 8601 format (defaults to now).", "in": "query", "name": "to", "required": false, "type": "string" }, { "description": "The maximum number of applications to return. Applications will be\nreturned in the following order:\n

", "in": "query", "name": "limit", "required": false, "type": "string" }, { "description": "The offset to start returning applications from. This is useful\nfor paging through lists of applications. Note that this has non-deterministic\nbehavior if executing applications are included in the response because they\ncan disappear from the list while paging. To exclude executing applications\nfrom the response and a 'executing = false' clause to your filter.", "in": "query", "name": "offset", "required": false, "type": "string" } ], "responses": { "200": { "description": "Successful Response" } } }, "parameters": [ { "description": "The name of the service", "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ] }, "/api/v11/clusters/{clusterName}/services/{serviceName}/yarnApplications/attributes": { "get": { "description": "Returns the list of all attributes that the Service Monitor can associate\nwith YARN applications.\n

\nExamples of attributes include the user who ran the application and the\nnumber of maps completed by the application.\n

\nThese attributes can be used to search for specific YARN applications through\nthe getYarnApplications API. For example the 'user' attribute could be used\nin the search 'user = root'. If the attribute is numeric it can also be used\nas a metric in a tsquery (ie, 'select maps_completed from YARN_APPLICATIONS').\n

\nNote that this response is identical for all YARN services.\n

\nAvailable since API v6.", "responses": { "200": { "description": "Successful Response" } } }, "parameters": [ { "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ] }, "/api/v11/clusters/{clusterName}/services/{serviceName}/yarnApplications/{applicationId}/kill": { "parameters": [ { "description": "The name of the service", "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "description": "The applicationId to kill", "in": "path", "name": "applicationId", "required": true, "type": "string" }, { "in": "path", "name": "serviceName", "required": true, "type": "string" }, { "in": "path", "name": "clusterName", "required": true, "type": "string" } ], "post": { "description": "Kills an YARN Application\n

\nAvailable since API v6.", "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/cm/allHosts/config": { "get": { "description": "Retrieve the default configuration for all hosts.\n

\nThese values will apply to all hosts managed by CM unless overridden\nat the host level.", "parameters": [ { "description": "The view of the data to materialize,\neither \"summary\" or \"full\".", "in": "query", "name": "view", "required": false, "type": "string" } ], "responses": { "200": { "description": "Successful Response" } } }, "parameters": [], "put": { "description": "Update the default configuration values for all hosts.\n

\nNote that this does not override values set at the host level. It just\nupdates the default values that will be inherited by each host's\nconfiguration.", "parameters": [ { "description": "Optional message describing the changes.", "in": "query", "name": "message", "required": false, "type": "string" } ], "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/cm/commands": { "get": { "description": "List active global commands.", "parameters": [ { "description": "The view of the data to materialize,\neither \"summary\" or \"full\".", "in": "query", "name": "view", "required": false, "type": "string" } ], "responses": { "200": { "description": "Successful Response" } } }, "parameters": [] }, "/api/v11/cm/commands/collectDiagnosticData": { "parameters": [], "post": { "description": "Collect diagnostic data from hosts managed by Cloudera Manager.\n

\nAfter the command has completed, the ApiCommand will contain a\nresultDataUrl from where you can download the result.\n

\nOnly available with Cloudera Manager Enterprise Edition.", "parameters": [], "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/cm/commands/generateCredentials": { "parameters": [], "post": { "description": "Generate missing Kerberos credentials.\n

\nThis command will affect all services that have been configured to use\nKerberos, and haven't had their credentials generated yet.", "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/cm/commands/hostInstall": { "parameters": [], "post": { "description": "Perform installation on a set of hosts.\n

\nThis command installs Cloudera Manager Agent on a\nset of hosts.\n

\nAvailable since API v6.", "parameters": [], "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/cm/commands/hostsDecommission": { "parameters": [], "post": { "description": "Decommission the given hosts.\nAll slave roles on the hosts will be decommissioned.\nAll other roles will be stopped.", "parameters": [], "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/cm/commands/hostsRecommission": { "parameters": [], "post": { "description": "Recommission the given hosts.\nAll slave roles on the hosts will be recommissioned.\nRoles are not started after this command. Use hostsStartRoles command\nfor that.", "parameters": [], "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/cm/commands/hostsStartRoles": { "parameters": [], "post": { "description": "Start all the roles on the given hosts.", "parameters": [], "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/cm/commands/importAdminCredentials": { "parameters": [], "post": { "description": "Imports the KDC Account Manager credentials needed by Cloudera\nManager to create kerberos principals needed by CDH services.", "parameters": [ { "description": "Username of the Account Manager. Full name including the Kerberos\nrealm must be specified.", "in": "query", "name": "username", "required": false, "type": "string" }, { "description": "Password for the Account Manager.\n\nreturn Information about the submitted command.", "in": "query", "name": "password", "required": false, "type": "string" } ], "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/cm/commands/importKerberosPrincipal": { "parameters": [], "post": { "description": "Imports the Kerberos credentials for the specified principal\nwhich can then be used to add to a role's keytab by running\nGenerate Credentials command.", "parameters": [ { "description": "Name of the principal. Full name including the Kerberos\nrealm must be specified. If it already exists, it will be overwritten.", "in": "query", "name": "principal", "required": false, "type": "string" }, { "description": "Password for the Kerberos principal. Cloudera Manager\nwill encrypt the principal and password and use it when needed for a daemon.", "in": "query", "name": "password", "required": false, "type": "string" }, { "description": "Key-version number of the password.\n\nreturn Information about the submitted command.", "in": "query", "name": "kvno", "required": false, "type": "string" } ], "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/cm/commands/inspectHosts": { "parameters": [], "post": { "description": "Runs the host inspector on the configured hosts.", "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/cm/config": { "get": { "description": "Retrieve the Cloudera Manager settings.", "parameters": [ { "description": "The view to materialize, either \"summary\" or \"full\".", "in": "query", "name": "view", "required": false, "type": "string" } ], "responses": { "200": { "description": "Successful Response" } } }, "parameters": [], "put": { "description": "Update the Cloudera Manager settings.\n

\nIf a value is set in the given configuration, it will be added to the\nmanager's settings, replacing any existing entry. If a value is unset (its\nvalue is null), the existing the setting will be erased.\n

\nSettings that are not listed in the input will maintain their current\nvalues.", "parameters": [], "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/cm/deployment": { "get": { "description": "Retrieve full description of the entire Cloudera Manager deployment\nincluding all hosts, clusters, services, roles, users, settings, etc.\n

\nThis object can be used to reconstruct your entire deployment\n

\nNote: Only users with sufficient privileges are allowed to call this.\n

\n

\nNote: starting with v3, the deployment information contais data about\nCloudera Manager peers configured for the instance. This data contains\nplain text authentication information used to connect to the remote peer.", "parameters": [ { "description": "May be one of \"export\" (default) or \"export_redacted\". The latter\nreplaces configurations that are sensitive with the word \"REDACTED\".", "in": "query", "name": "view", "required": false, "type": "string" } ], "responses": { "200": { "description": "Successful Response" } } }, "parameters": [], "put": { "description": "Apply the supplied deployment description to the system. This will\ncreate the clusters, services, hosts and other objects specified in\nthe argument. This call does not allow for any merge conflicts. If\nan entity already exists in the system, this call will fail.\nYou can request, however, that all entities in the system are deleted\nbefore instantiating the new ones.\n

\nYou may specify a complete or partial deployment, e.g. you can provide\nhost info with no clusters. However, if you request that\nthe current deployment be deleted, you are required to specify at\nleast one admin user or this call will fail. This is to protect\nyou from creating a system that cannot be logged into again.\n

\nIf there are any errors creating (or optionally deleting) a deployment,\nall changes will be rolled back leaving the system exactly as it was\nbefore calling this method. The system will never be left in a state\nwhere part of the deployment is created and other parts are not.\n

\nIf the submitted deployment contains entities that require Cloudera\nEnterprise license, then the license should be provided to Cloudera Manager\nbefore making this API call.", "parameters": [ { "description": "If true, the current deployment is deleted\nbefore the specified deployment is applied", "in": "query", "name": "deleteCurrentDeployment", "required": false, "type": "string" } ], "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/cm/kerberosPrincipals": { "get": { "description": "Returns the Kerberos principals needed by the services being managed\nby Cloudera Manager.", "parameters": [ { "description": "Whether to include only those principals which do\nnot already exist in Cloudera Manager's database.", "in": "query", "name": "missingOnly", "required": false, "type": "string" } ], "responses": { "200": { "description": "Successful Response" } } }, "parameters": [] }, "/api/v11/cm/license": { "get": { "description": "Retrieve information about the Cloudera Manager license.", "responses": { "200": { "description": "Successful Response" } } }, "parameters": [], "post": { "description": "Updates the Cloudera Manager license.\n

\nAfter a new license is installed, the Cloudera Manager needs to be\nrestarted for the changes to take effect.\n

\nThe license file should be uploaded using a request with content type\n\"multipart/form-data\", instead of being encoded into a JSON representation.", "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/cm/licensedFeatureUsage": { "get": { "description": "Retrieve a summary of licensed feature usage.\n

\nThis command will return information about what Cloudera Enterprise\nlicensed features are in use in the clusters being managed by this Cloudera\nManager, as well as totals for usage across all clusters.\n

\nThe specific features described can vary between different versions of\nCloudera Manager.\n

\nAvailable since API v6.", "responses": { "200": { "description": "Successful Response" } } }, "parameters": [] }, "/api/v11/cm/log": { "get": { "description": "Returns the entire contents of the Cloudera Manager log file", "responses": { "200": { "description": "Successful Response" } } }, "parameters": [] }, "/api/v11/cm/peers": { "get": { "description": "Retrieves all configured Cloudera Manager peers.\n

\nAvailable since API v3. Only available with Cloudera Manager Enterprise\nEdition.\n

\nWhen accessed via API version before v11, only REPLICATION type peers will\nbe returned.", "responses": { "200": { "description": "Successful Response" } } }, "parameters": [], "post": { "description": "Create a new Cloudera Manager peer.\n

\nThe remote server will be contacted so that a user can be created\nfor use by the new peer. The username and password\nproperties of the provided peer object should contain credentials\nof a valid admin user on the remote server. A timeout of 10 seconds\nis enforced when contacting the remote server.\n

\nIt is recommended to run the remote server with TLS enabled, since\ncreating and using peers involve transferring credentials over the\nnetwork.\n

\nAvailable since API v3. Only available with Cloudera Manager Enterprise\nEdition.\n

\nType field in ApiCmPeer is available since API v11. if not specified\nwhen making createPeer() call, 'REPLICATION' type peer will be created.", "parameters": [], "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/cm/peers/{peerName}": { "delete": { "description": "Delete Cloudera Manager peer.\n

\nAn attempt will be made to contact the peer server, so that the configured\nuser can be deleted.. Errors while contacting the remote server are\nnon-fatal.\n

\nAvailable since API v3. Only available with Cloudera Manager Enterprise\nEdition.", "responses": { "200": { "description": "Successful Response" } } }, "get": { "description": "Fetch information about an existing Cloudera Manager peer.\n

\nAvailable since API v3. Only available with Cloudera Manager Enterprise\nEdition.", "responses": { "200": { "description": "Successful Response" } } }, "parameters": [ { "description": "Name of peer to retrieve.", "in": "path", "name": "peerName", "required": true, "type": "string" } ], "put": { "description": "Update information for a Cloudera Manager peer.\n

\nIn administrator credentials are provided in the peer information, they\nwill be used to establish new credentials with the remote server. This\ncan be used in case the old credentials are not working anymore. An\nattempt will be made to delete the old credentials if new ones are\nsuccessfully created.\n

\nIf changing the peer's URL, an attempt will be made to contact the old\nCloudera Manager to delete the existing credentials.\n

\nAvailable since API v3. Only available with Cloudera Manager Enterprise\nEdition.", "parameters": [], "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/cm/peers/{peerName}/commands/test": { "parameters": [ { "description": "Name of peer to test.", "in": "path", "name": "peerName", "required": true, "type": "string" } ], "post": { "description": "Test the connectivity of a peer.\n

\nAvailable since API v3. Only available with Cloudera Manager Enterprise\nEdition.", "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/cm/service": { "delete": { "description": "Delete the Cloudera Management Services.\n

\nThis method will fail if a CMS instance doesn't already exist.", "responses": { "200": { "description": "Successful Response" } } }, "get": { "description": "Retrieve information about the Cloudera Management Services.", "responses": { "200": { "description": "Successful Response" } } }, "parameters": [], "put": { "description": "Setup the Cloudera Management Services.\n

\nConfigure the CMS instance and create all the management roles. The\nprovided configuration data can be used to set up host mappings for\neach role, and required configuration such as database connection\ninformation for specific roles.\n

\nRegardless of the list of roles provided in the input data, all\nmanagement roles are created by this call. The input is used to\noverride any default settings for the specific roles.\n

\nThis method needs a valid CM license to be installed beforehand.\n

\nThis method does not start any services or roles.\n

\nThis method will fail if a CMS instance already exists.\n

\nAvailable role types:\n

\n\n

\nREPORTSMANAGER, NAVIGATOR and NAVIGATORMETASERVER are only available with\nCloudera Manager Enterprise Edition.", "parameters": [], "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/cm/service/autoAssignRoles": { "parameters": [], "put": { "description": "Automatically assign roles to hosts and create the roles for the Cloudera Management Service.\n

\nAssignments are done based on number of hosts in the deployment and hardware specifications.\nIf no hosts are part of the deployment, an exception will be thrown preventing any role assignments.\nExisting roles will be taken into account and their assignments will be not be modified.\nThe deployment should not have any clusters when calling this endpoint. If it does,\nan exception will be thrown preventing any role assignments.\n

\nAvailable since API v6.", "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/cm/service/autoConfigure": { "parameters": [], "put": { "description": "Automatically configures roles of the Cloudera Management Service.\n

\nOverwrites some existing configurations.\nOnly default role config groups must exist before calling this endpoint.\nOther role config groups must not exist. If they do, an exception will be thrown\npreventing any configuration.\nIgnores any clusters (and their services and roles) colocated with the Cloudera\nManagement Service. To avoid over-committing the heap on hosts, place the\nCloudera Management Service roles on machines not used by any of the clusters.\n

\nAvailable since API v6.", "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/cm/service/commands": { "get": { "description": "List active Cloudera Management Services commands.", "parameters": [ { "description": "The view of the data to materialize,\neither \"summary\" or \"full\".", "in": "query", "name": "view", "required": false, "type": "string" } ], "responses": { "200": { "description": "Successful Response" } } }, "parameters": [] }, "/api/v11/cm/service/commands/restart": { "parameters": [], "post": { "description": "Restart the Cloudera Management Services.", "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/cm/service/commands/start": { "parameters": [], "post": { "description": "Start the Cloudera Management Services.", "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/cm/service/commands/stop": { "parameters": [], "post": { "description": "Stop the Cloudera Management Services.", "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/cm/service/config": { "get": { "description": "Retrieve the configuration of the Cloudera Management Services.", "parameters": [ { "description": "The view of the data to materialize,\neither \"summary\" or \"full\".", "in": "query", "name": "view", "required": false, "type": "string" } ], "responses": { "200": { "description": "Successful Response" } } }, "parameters": [], "put": { "description": "Update the Cloudera Management Services configuration.\n

\nIf a value is set in the given configuration, it will be added\nto the service's configuration, replacing any existing entries.\nIf a value is unset (its value is null), the existing\nconfiguration for the attribute will be erased, if any.\n

\nAttributes that are not listed in the input will maintain their\ncurrent values in the configuration.", "parameters": [ { "description": "Optional message describing the changes.", "in": "query", "name": "message", "required": false, "type": "string" } ], "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/cm/service/roleCommands/jmapDump": { "parameters": [], "post": { "description": "Run the jmapDump diagnostic command. The command runs the jmap utility to\ncapture a dump of the role's java heap.\n

\nAvailable since API v8.", "parameters": [], "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/cm/service/roleCommands/jmapHisto": { "parameters": [], "post": { "description": "Run the jmapHisto diagnostic command. The command runs the jmap utility to\ncapture a histogram of the objects on the role's java heap.\n

\nAvailable since API v8.", "parameters": [], "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/cm/service/roleCommands/jstack": { "parameters": [], "post": { "description": "Run the jstack diagnostic command. The command runs the jstack utility to\ncapture a role's java thread stacks.\n

\nAvailable since API v8.", "parameters": [], "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/cm/service/roleCommands/lsof": { "parameters": [], "post": { "description": "Run the lsof diagnostic command. This command runs the lsof utility to\nlist a role's open files.\n

\nAvailable since API v8.", "parameters": [], "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/cm/service/roleCommands/restart": { "parameters": [], "post": { "description": "Restart a set of Cloudera Management Services roles.", "parameters": [], "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/cm/service/roleCommands/start": { "parameters": [], "post": { "description": "Start a set of Cloudera Management Services roles.", "parameters": [], "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/cm/service/roleCommands/stop": { "parameters": [], "post": { "description": "Stop a set of Cloudera Management Services roles.", "parameters": [], "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/cm/service/roleConfigGroups": { "get": { "description": "Returns the information for all role config groups in\nthe Cloudera Management Services.\n

\nAvailable since API v3.", "responses": { "200": { "description": "Successful Response" } } }, "parameters": [] }, "/api/v11/cm/service/roleConfigGroups/{roleConfigGroupName}": { "get": { "description": "Returns the information for a given role config group\nin the Cloudera Management Services.\n

\nAvailable since API v3.", "responses": { "200": { "description": "Successful Response" } } }, "parameters": [ { "description": "The name of the requested group.", "in": "path", "name": "roleConfigGroupName", "required": true, "type": "string" } ], "put": { "description": "Updates an existing role config group in the Cloudera Management Services.\n

\nAvailable since API v3.", "parameters": [ { "description": "The optional message describing the changes.", "in": "query", "name": "message", "required": false, "type": "string" } ], "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/cm/service/roleConfigGroups/{roleConfigGroupName}/config": { "get": { "description": "Returns the current revision of the config\nfor the specified role config group in the Cloudera Management Services.\n

\nAvailable since API v3.", "parameters": [ { "description": "The view of the data to materialize,\neither \"summary\" or \"full\".", "in": "query", "name": "view", "required": false, "type": "string" } ], "responses": { "200": { "description": "Successful Response" } } }, "parameters": [ { "description": "The name of the role config group.", "in": "path", "name": "roleConfigGroupName", "required": true, "type": "string" } ], "put": { "description": "Updates the config for the given role config group\nin the Cloudera Management Services.\n

\nAvailable since API v3.", "parameters": [ { "description": "Optional message describing the changes.", "in": "query", "name": "message", "required": false, "type": "string" } ], "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/cm/service/roleConfigGroups/{roleConfigGroupName}/roles": { "get": { "description": "Returns all roles in the given role config group\nin the Cloudera Management Services.\n

\nAvailable since API v3.", "responses": { "200": { "description": "Successful Response" } } }, "parameters": [ { "description": "The name of the role config group.", "in": "path", "name": "roleConfigGroupName", "required": true, "type": "string" } ] }, "/api/v11/cm/service/roleTypes": { "get": { "description": "List the supported role types for the Cloudera Management Services.", "responses": { "200": { "description": "Successful Response" } } }, "parameters": [] }, "/api/v11/cm/service/roles": { "get": { "description": "List all roles of the Cloudera Management Services.", "responses": { "200": { "description": "Successful Response" } } }, "parameters": [], "post": { "description": "Create new roles in the Cloudera Management Services.", "parameters": [], "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/cm/service/roles/{roleName}": { "delete": { "description": "Delete a role from the Cloudera Management Services.", "responses": { "200": { "description": "Successful Response" } } }, "get": { "description": "Retrieve detailed information about a Cloudera Management Services role.", "responses": { "200": { "description": "Successful Response" } } }, "parameters": [ { "description": "The role name.", "in": "path", "name": "roleName", "required": true, "type": "string" } ] }, "/api/v11/cm/service/roles/{roleName}/commands": { "get": { "description": "List active role commands.", "parameters": [ { "description": "The view of the data to materialize,\neither \"summary\" or \"full\".", "in": "query", "name": "view", "required": false, "type": "string" } ], "responses": { "200": { "description": "Successful Response" } } }, "parameters": [ { "description": "The role name.", "in": "path", "name": "roleName", "required": true, "type": "string" } ] }, "/api/v11/cm/service/roles/{roleName}/config": { "get": { "description": "Retrieve the configuration of a specific Cloudera Management Services role.", "parameters": [ { "description": "The view of the data to materialize,\neither \"summary\" or \"full\".", "in": "query", "name": "view", "required": false, "type": "string" } ], "responses": { "200": { "description": "Successful Response" } } }, "parameters": [ { "description": "The role to look up.", "in": "path", "name": "roleName", "required": true, "type": "string" } ], "put": { "description": "Update the configuration of a Cloudera Management Services role.\n

\nIf a value is set in the given configuration, it will be added\nto the role's configuration, replacing any existing entries.\nIf a value is unset (its value is null), the existing\nconfiguration for the attribute will be erased, if any.\n

\nAttributes that are not listed in the input will maintain their\ncurrent values in the configuration.", "parameters": [ { "description": "Optional message describing the changes.", "in": "query", "name": "message", "required": false, "type": "string" } ], "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/cm/service/roles/{roleName}/logs/full": { "get": { "description": "Retrieves the log file for the role's main process.\n

\nIf the role is not started, this will be the log file associated with\nthe last time the role was run.\n

\nLog files are returned as plain text (type \"text/plain\").", "responses": { "200": { "description": "Successful Response" } } }, "parameters": [ { "description": "The role to fetch logs from.", "in": "path", "name": "roleName", "required": true, "type": "string" } ] }, "/api/v11/cm/service/roles/{roleName}/logs/stacks": { "get": { "description": "Retrieves the stacks log file, if any, for the role's main process. Note\nthat not all roles support periodic stacks collection.\n\nThe log files are returned as plain text (type \"text/plain\").", "responses": { "200": { "description": "Successful Response" } } }, "parameters": [ { "description": "The role to fetch stacks logs from.", "in": "path", "name": "roleName", "required": true, "type": "string" } ] }, "/api/v11/cm/service/roles/{roleName}/logs/stacksBundle": { "get": { "description": "Download a zip-compressed archive of role stacks logs. Note that not all\nroles support periodic stacks collection.", "responses": { "200": { "description": "Successful Response" } } }, "parameters": [ { "description": "The role to fetch the stacks logs bundle from.", "in": "path", "name": "roleName", "required": true, "type": "string" } ] }, "/api/v11/cm/service/roles/{roleName}/logs/stderr": { "get": { "description": "Retrieves the role's standard error output.\n

\nIf the role is not started, this will be the output associated with\nthe last time the role was run.\n

\nLog files are returned as plain text (type \"text/plain\").", "responses": { "200": { "description": "Successful Response" } } }, "parameters": [ { "description": "The role to fetch stderr from.", "in": "path", "name": "roleName", "required": true, "type": "string" } ] }, "/api/v11/cm/service/roles/{roleName}/logs/stdout": { "get": { "description": "Retrieves the role's standard output.\n

\nIf the role is not started, this will be the output associated with\nthe last time the role was run.\n

\nLog files are returned as plain text (type \"text/plain\").", "responses": { "200": { "description": "Successful Response" } } }, "parameters": [ { "description": "The role to fetch stdout from.", "in": "path", "name": "roleName", "required": true, "type": "string" } ] }, "/api/v11/cm/trial/begin": { "parameters": [], "post": { "description": "Begin trial license.", "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/cm/trial/end": { "parameters": [], "post": { "description": "End trial license.", "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/cm/version": { "get": { "description": "Provides version information of Cloudera Manager itself.", "responses": { "200": { "description": "Successful Response" } } }, "parameters": [] }, "/api/v11/commands/{commandId}": { "get": { "description": "Retrieve detailed information on an asynchronous command.\n\n

Cloudera Manager keeps the results and statuses of asynchronous\ncommands, which have non-negative command IDs. On the other hand,\nsynchronous commands complete immediately, and their results are passed\nback in the return object of the command execution API call.\nOutside of that return object, there is no way to check the result\nof a synchronous command.

", "responses": { "200": { "description": "Successful Response" } } }, "parameters": [ { "description": "The command id.", "in": "path", "name": "commandId", "required": true, "type": "string" } ] }, "/api/v11/commands/{commandId}/abort": { "parameters": [ { "description": "The command id.", "in": "path", "name": "commandId", "required": true, "type": "string" } ], "post": { "description": "Abort a running command.", "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/commands/{commandId}/retry": { "parameters": [ { "description": "ID of the command that needs to be run.", "in": "path", "name": "commandId", "required": true, "type": "string" } ], "post": { "description": "Try to rerun a command.\n\n

\nNote: Only command that supports retry is UpgradeCluster.\nApiCommand#isCanRetry() will be true for only\nUpgradeCluster command.\n

", "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/events": { "get": { "description": "Allows you to query events in the system.", "parameters": [ { "description": "The maximum number of events to return.", "in": "query", "name": "maxResults", "required": false, "type": "string" }, { "description": "Specified the offset of events to return.", "in": "query", "name": "resultOffset", "required": false, "type": "string" }, { "description": "The query to perform to find events in the system. It accepts\nquerying the intersection of a list of constraints,\njoined together with semicolons (without spaces). For example:\n

\n
\n
alert==true
\n
looks for alerts.
\n
alert==true;attributes.host!=flaky.mysite.com
\n
looks for alerts, but exclude those with the host attribute of\n\"flaky.mysite.com\".
\n
category==log_event;attributes.log_level==ERROR
\n
looks for error log events. Event attribute matching is\ncase sensitive.
\n
attributes.service==hbase1;content==hlog
\n
looks for any events from the \"hbase1\" service that\nmention \"hlog\".
\n
attributes.service==hbase1;content!=hlog
\n
looks for any events from the \"hbase1\" service that\ndo not mention \"hlog\".
\nA query must not contain only negative\nconstraints (!=). It returns empty results because\nthere is nothing to perform exclusion on.
\n
attributes.role_type==NAMENODE;severity==critical important
\n
looks for any important or critical events related to\nall NameNodes.
\n
severity==critical;timeReceived=ge=2012-05-04T00:00;timeReceived=lt=2012-05-04T00:10
\n
looks for critical events received between the given 10 minute\nrange.
\nWhen polling for events, use timeReceived\ninstead of timeOccurred because events arrive\nout of order.
\n
\n\nYou may query any fields present in the ApiEvent object. You can\nalso query by event attribute values using the attributes.*\nsyntax. Values for date time fields (e.g. timeOccurred,\ntimeReceived) should be ISO8601 timestamps.\n

\nThe other valid comparators are =lt=, =le=,\n=ge=, and =gt=. They stand for \"<\", \"<=\",\n\">=\", \">\" respectively. These comparators are only applicable\nfor date time fields.", "in": "query", "name": "query", "required": false, "type": "string" } ], "responses": { "200": { "description": "Successful Response" } } }, "parameters": [] }, "/api/v11/events/{eventId}": { "get": { "description": "Returns a specific event in the system", "responses": { "200": { "description": "Successful Response" } } }, "parameters": [ { "description": "The UUID of the event to read", "in": "path", "name": "eventId", "required": true, "type": "string" } ] }, "/api/v11/hosts": { "delete": { "description": "Delete all hosts in the system", "responses": { "200": { "description": "Successful Response" } } }, "get": { "description": "Returns the hostIds for all hosts in the system.", "parameters": [ { "description": "The view to materialize", "in": "query", "name": "view", "required": false, "type": "string" } ], "responses": { "200": { "description": "Successful Response" } } }, "parameters": [], "post": { "description": "

Create one or more hosts.

\n

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

", "parameters": [], "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/hosts/{hostId}": { "delete": { "description": "Delete a host from the system", "responses": { "200": { "description": "Successful Response" } } }, "get": { "description": "Returns a specific Host in the system", "responses": { "200": { "description": "Successful Response" } } }, "parameters": [ { "description": "The ID of the host to read", "in": "path", "name": "hostId", "required": true, "type": "string" } ], "put": { "description": "

Update an existing host in the system.

\n

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

", "parameters": [], "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/hosts/{hostId}/commands/enterMaintenanceMode": { "parameters": [ { "description": "The ID of the host", "in": "path", "name": "hostId", "required": true, "type": "string" } ], "post": { "description": "Put the host into maintenance mode. This is a synchronous command.\nThe result is known immediately upon return.\n\n

Available since API v2.

", "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/hosts/{hostId}/commands/exitMaintenanceMode": { "parameters": [ { "description": "The ID of the host", "in": "path", "name": "hostId", "required": true, "type": "string" } ], "post": { "description": "Take the host out of maintenance mode. This is a synchronous command. The\nresult is known immediately upon return.\n\n

\nAvailable since API v2.\n

", "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/hosts/{hostId}/commands/migrateRoles": { "parameters": [ { "description": "The ID of the host on which the roles to migrate currently\nreside", "in": "path", "name": "hostId", "required": true, "type": "string" } ], "post": { "description": "Migrate roles to a different host.\n

\nThis command applies only to HDFS NameNode, JournalNode, and Failover\nController roles. In order to migrate these roles:\n

\nMigrating a NameNode or JournalNode role requires cluster downtime.\nHDFS, along with all of its dependent services, will be stopped at the\nbeginning of the migration process, and restarted at its conclusion.\n

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

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

\nAvailable since API v10.", "parameters": [], "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/hosts/{hostId}/config": { "get": { "description": "Retrieves the configuration of a specific host.", "parameters": [ { "description": "The view of the data to materialize,\neither \"summary\" or \"full\".", "in": "query", "name": "view", "required": false, "type": "string" } ], "responses": { "200": { "description": "Successful Response" } } }, "parameters": [ { "description": "The ID of the host.", "in": "path", "name": "hostId", "required": true, "type": "string" } ], "put": { "description": "Updates the host configuration with the given values.\n

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

\nAttributes that are not listed in the input will maintain their\ncurrent values in the configuration.", "parameters": [ { "description": "Optional message describing the changes.", "in": "query", "name": "message", "required": false, "type": "string" } ], "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/hosts/{hostId}/metrics": { "get": { "description": "Fetch metric readings for a host.\n

\nBy default, this call will look up all metrics available for the host. If\nonly specific metrics are desired, use the metrics parameter.\n

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

\nWhen requesting a \"full\" view, aside from the extended properties of the\nreturned metric data, the collection will also contain information about\nall metrics available for the role, even if no readings are available\nin the requested window.\n

\nHost metrics also include per-network interface and per-storage device\nmetrics. Since collecting this data incurs in more overhead, query\nparameters can be used to choose which network interfaces and storage\ndevices to query, or to these metrics altogether.\n

\nStorage metrics are collected at different levels; for example, per-disk\nand per-partition metrics are available. The \"storageIds\" parameter can be\nused to filter specific storage IDs.\n

\nIn the returned data, the network interfaces and storage IDs can be\nidentified by looking at the \"context\" property of the metric objects.", "parameters": [ { "description": "Start of the period to query.", "in": "query", "name": "from", "required": false, "type": "string" }, { "description": "End of the period to query.", "in": "query", "name": "to", "required": false, "type": "string" }, { "description": "Whether to query for network interface metrics.", "in": "query", "name": "queryNw", "required": false, "type": "string" }, { "description": "Network interfaces to query for metrics (default = all).", "in": "query", "name": "ifs", "required": false, "type": "string" }, { "description": "Whether to query for storage metrics.", "in": "query", "name": "queryStorage", "required": false, "type": "string" }, { "description": "Storage context IDs to query for metrics (default = all).", "in": "query", "name": "storageIds", "required": false, "type": "string" }, { "description": "Filter for which metrics to query.", "in": "query", "name": "metrics", "required": false, "type": "string" }, { "description": "The view of the data to materialize,\neither \"summary\" or \"full\".", "in": "query", "name": "view", "required": false, "type": "string" } ], "responses": { "200": { "description": "Successful Response" } } }, "parameters": [ { "description": "The host's ID.", "in": "path", "name": "hostId", "required": true, "type": "string" } ] }, "/api/v11/timeseries": { "get": { "description": "Retrieve time-series data from the Cloudera Manager (CM) time-series\ndata store using a tsquery.\n

\nPlease see the\n\ntsquery language documentation.\n

\nAvailable since API v4.", "parameters": [ { "description": "Tsquery to run against the CM time-series data store.", "in": "query", "name": "query", "required": false, "type": "string" }, { "description": "Start of the period to query in ISO 8601 format (defaults to 5 minutes before the\nend of the period).", "in": "query", "name": "from", "required": false, "type": "string" }, { "description": "End of the period to query in ISO 8601 format (defaults to current time).", "in": "query", "name": "to", "required": false, "type": "string" } ], "responses": { "200": { "description": "Successful Response" } } }, "parameters": [], "post": { "description": "Retrieve time-series data from the Cloudera Manager (CM) time-series\ndata store accepting HTTP POST request. This method differs\nfrom queryTimeSeries() in v6 that this could accept query strings that are\nlonger than HTTP GET request limit.\n\nAvailable since API v11.", "parameters": [], "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/timeseries/dashboards": { "get": { "description": "Returns the list of all user-customized dashboards. This includes both the\nnew dashboards created by users as well as any user customizations to\nbuilt-in dashboards.\n

\nAvailable since API v6.", "responses": { "200": { "description": "Successful Response" } } }, "parameters": [], "post": { "description": "Creates the list of dashboards. If any of the dashboards already exist\nthis whole command will fail and no dashboards will be created.\n

\nAvailable since API v6.", "parameters": [], "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/timeseries/dashboards/{dashboardName}": { "delete": { "description": "Deletes a dashboard.\n\n

\nAvailable since API v6.", "responses": { "200": { "description": "Successful Response" } } }, "get": { "description": "Returns a dashboard definition for the specified name. This dashboard\ncan be imported with the createDashboards API.\n

\nAvailable since API v6.", "responses": { "200": { "description": "Successful Response" } } }, "parameters": [ { "description": "The name of the dashboard.", "in": "path", "name": "dashboardName", "required": true, "type": "string" } ] }, "/api/v11/timeseries/entityTypeAttributes": { "get": { "description": "Retrieve all metric entity type attributes monitored by Cloudera Manager.\n

\nAvailable since API v11.", "responses": { "200": { "description": "Successful Response" } } }, "parameters": [] }, "/api/v11/timeseries/entityTypes": { "get": { "description": "Retrieve all metric entity types monitored by Cloudera Manager.\nIt is guaranteed that parent types appear before their children.\n

\nAvailable since API v11.", "responses": { "200": { "description": "Successful Response" } } }, "parameters": [] }, "/api/v11/timeseries/schema": { "get": { "description": "Retrieve schema for all metrics\n

\nThe schema is fixed for a product version.\nThe schema may change for an API versions\n

\nAvailable since API v4.", "responses": { "200": { "description": "Successful Response" } } }, "parameters": [] }, "/api/v11/tools/echo": { "get": { "description": "Echoes the provided message back to the caller.", "parameters": [ { "description": "The message to echo back", "in": "query", "name": "message", "required": false, "type": "string" } ], "responses": { "200": { "description": "Successful Response" } } }, "parameters": [] }, "/api/v11/tools/echoError": { "get": { "description": "Throws an error containing the given input message. This is\nwhat an error response looks like.\n\n

\n{\n\"message\": \"An error message\",\n\"causes\": [ \"A list of causes\", \"Potentially null\" ]\n}\n
\n\n

The message field contains a description of the error.\nThe causes field, if not null, contains a list of causes\nfor the error.\n

\n\n

Note that this never returns an echoMessage.\nInstead, the result (and all error results) has the above structure.\n

", "parameters": [ { "description": "The error message to echo", "in": "query", "name": "message", "required": false, "type": "string" } ], "responses": { "200": { "description": "Successful Response" } } }, "parameters": [] }, "/api/v11/users": { "get": { "description": "Returns a list of the user names configured in the system.", "parameters": [ { "in": "query", "name": "view", "required": false, "type": "string" } ], "responses": { "200": { "description": "Successful Response" } } }, "parameters": [], "post": { "description": "Creates a list of users.\n

\nWhen creating new users, the password property of each user should\nbe their plain text password. The returned user information will not\ncontain any password information.\n

", "parameters": [], "responses": { "200": { "description": "Successful Response" } } } }, "/api/v11/users/sessions": { "get": { "description": "Return a list of the sessions associated with interactive authenticated\nusers in Cloudera Manager.\n

\nNote that these sessions are only associated with users who log into the\nweb interface. API users will not appear.", "responses": { "200": { "description": "Successful Response" } } }, "parameters": [] }, "/api/v11/users/{userName}": { "delete": { "description": "Deletes a user from the system.\n

", "responses": { "200": { "description": "Successful Response" } } }, "get": { "description": "Returns detailed information about a user.", "responses": { "200": { "description": "Successful Response" } } }, "parameters": [ { "description": "The name of the user to delete.", "in": "path", "name": "userName", "required": true, "type": "string" } ], "put": { "description": "Updates the given user's information. Note that the user's name cannot\nbe changed.", "parameters": [], "responses": { "200": { "description": "Successful Response" } } } } }, "schemes": [ "http" ], "swagger": "2.0" }